У меня 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
dir имеет следующие права: -rwxrwx---
Пользователь root
Группа apache
Почему бы тебе не исправить разрешения на /var/lib/php/session
? Этот каталог просто должен быть доступен для записи пользователем httpd (который, в зависимости от вашей ОС, может быть чем-то вроде www-data
или apache
; ищите User
директива в вашем httpd.conf
).
Команды будут выглядеть примерно так:
chown apache /var/lib/php/session
chmod 700 /var/lib/php/session
Это делает каталог доступным для записи apache
пользователь, и вообще недоступный для всех остальных.
Это случилось со мной после того, как я переключился на запуск 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