Failed to write session data [closed]

У меня есть VPS, работающий на CentOS 5 с Plesk 9.
Мой сайт работает на FastCGI.

У меня проблемы с чтением / записью сессий. На моих серверах error_log я получаю следующие ошибки:

(...) Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0  

(...) open(/var/lib/php/session/sess_v8g5rt6p83b9one3mlg9sh9ts0, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Я склонен изменить

session.save_path = "/var/lib/php/session"
на
session. save_path = "/tmp"

Проблема в том, что /tmp имеет chmod 777, поэтому я не уверен, что это лучший способ?

Обновление
Дир session имеет следующие права: -rwxrwx--- Пользователь root Группа apache

2
задан 25 January 2011 в 04:39
2 ответа

Почему Вы не исправляете полномочия на /var/lib/php/session? Этот каталог просто должен быть записываемым httpd пользователем (как который, в зависимости от Вашей OS, может быть что-то www-data или apache; ищите User директива в Вашем httpd.conf).

Команды посмотрят что-то как:

chown apache /var/lib/php/session
chmod 700 /var/lib/php/session

Это делает каталог записываемым apache пользователь, и обычно недоступный всем остальным.

7
ответ дан 3 December 2019 в 08:59

Это случилось со мной после того, как я переключился на запуск php с использованием fcgi для решения проблем с разрешениями. До этого изменения скрипты php выполнялись как apache: apache, что приводило к ошибкам разрешений (если вы не chmod 777 использовали все каталоги, что очень опасно). После переключения на метод fcgi для запуска php скрипты php теперь выполняются как группа пользователей psacln, однако каталог / var / lib / php / session по-прежнему принадлежал root: apache. Моим решением было chown root: psacln / var / lib / php / session; chmod 770 / var / lib / php / session

1
ответ дан 3 December 2019 в 08:59

Теги

Похожие вопросы