Developer Tales or everything about everything

22Фев/140

ps_files_cleanup_dir: permission denied

В некоторых случаях, при определенной конфигурации сервера и интерпретатора PHP, в логах работы можно встретить записи, подобные этой:

session_start(): ps_files_cleanup_dir: opendir(/var/lib/php/session) failed: Permission denied (13)

Объясняется эта ошибка достаточно просто: PHP пытается удалить устаревшие данные из директории сессий, но интерпретатору не хватает прав - обычно, отсутствуют права на чтение (в моем случае директория имела флаги 0773).

Эта проблема встречалась в ОС Debian Linux, но знающие люди говорят, что такое возможно и в Ubuntu.

Способов решения этой проблемы несколько (упорядочено от наилучшего решения до наихудшего):

  1. Изменить владельца директории на пользователя, под которым запускается PHP. Сделать это можно с помощью команды chown. Естественно, Вы должны точно знать, что директория, в которой хранятя сессии, используется только для этой цели;
  2. Установить в файле конфигурации PHP session.gc_probability = 0. Эта конфигурация полностью отключит функцию удаления старых сессий. Т.к. в ОС Linux временные директории чистятся с помощью планировщика задач cron, то отключив GC, мы ничего не потеряем;
  3. Изменить директорию хранения сессий PHP на директорию, к которой можно обеспечить безопасный полный доступ для PHP. Для этого нужно изменить значение конфигурации session.save_path в php.ini;
  4. Назначить права 0777 на директорию с сессиями с помощью команды chmod. Этого лучше не делать, т.к. общий доступ к сессиям - потенциальная брешь в безопасности.

Просмотров: 1292
Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment


3 × девять =

http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_good.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif 
http://microfork.com/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif 
 

Trackbacks are disabled.