РЕШЕНО! Ошибка session_start() opendir(/var/lib/php5) failed в шапке сайта
Подскажите плз, периодически над хедером вылазит ошибка
Шаблон synio, ОС — Debian 6
поиском пользовался, решения не найдено. Подскажите что исправить в настройках сервера/сайта? где какие права может поменять?
РЕШЕНИЕ
Особую благодарность выражаю rsmike
Действительно, необходимо изменить параметр session.gc_probability с 1 на 0.
Проверять значения нужно с помощью функции phpinfo(), ведь глобальная настройка php.ini отличается для каждого пользователя. У меня необходимый параметр находился в файле:
/etc/php5/cgi/conf.d/gc.ini
Меняем session.gc_probability, перезапускаем апач
Радуемся.
Однако, должен заметить, что данные изменения могут вызывать накопление файлов сессий и заполнение диска сервера по адресу /var/lib/php5/
Так что не забывайте самостоятельно следить за степенью его заполнения, главное чтобы дебиановский сборщик старых сессий работал и стирал ненужные сессии.
Шаблон synio, ОС — Debian 6
<b>Notice</b>: session_start() [function.session-start]: ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Отказано в доступе (13) in <b>/var/www/***/data/www/***/engine/modules/session/Session.class.php</b> on line <b>88</b>
поиском пользовался, решения не найдено. Подскажите что исправить в настройках сервера/сайта? где какие права может поменять?
РЕШЕНИЕ
Особую благодарность выражаю rsmike
Действительно, необходимо изменить параметр session.gc_probability с 1 на 0.
Проверять значения нужно с помощью функции phpinfo(), ведь глобальная настройка php.ini отличается для каждого пользователя. У меня необходимый параметр находился в файле:
/etc/php5/cgi/conf.d/gc.ini
Меняем session.gc_probability, перезапускаем апач
sudo /etc/init.d/apache2 reload
Радуемся.
Однако, должен заметить, что данные изменения могут вызывать накопление файлов сессий и заполнение диска сервера по адресу /var/lib/php5/
Так что не забывайте самостоятельно следить за степенью его заполнения, главное чтобы дебиановский сборщик старых сессий работал и стирал ненужные сессии.
29 комментариев
Во вторых, умнип, по умолчанию права на директорию там выставлялись root:root.
Но его можно спокойно отключать, поскольку у Deb/Ubu свой сборщик запускается по крону.
Можно и проще, ну ладно.
Выводит пользователя v002028
Ну ладно, теперь покажите, какие права стоят на /var/lib/php5.
Выше я вам писал как сделать.
Решение 1: Откройте ваш php.ini, найдите параметр session.gc_probability и установите его в 0
Решение 2: Установите полный доступ (0777) на папку /var/lib/php5
Решение 1 является более правильным.
в дебиане убийца просроченных сессий запускается по крону собственным скриптом /etc/cron.d/php5, и по умолчанию session.gc_probability и так установлен в ноль.
Если он ненулевой — значит или сознательно используется штатный сборщик и кронтаск-удалятель отключен, или вообще используется нестандартное хранилище сессий (session.save_handler НЕ files), или что-то просто ошибочно включило этот параметр. В первых двух случаях нужно понять, что происходит, чтобы отключив штатный gc не нарваться на несколько гигабайт древних сессий, которые быстро забьют иноды и место на диске.
Может нужен
— что выдает команда /usr/lib/php5/maxlifetime
еще есть вариант, что вы смотрите не тот php.ini — лучше всего посмотреть результат вывода phpinfo(). Потому что по всем симптомам выходит, что session.gc_probability всё-таки не ноль
я смотрю пхп.ини по адресу etc/php5/apache2
из 300-т файлов в /var/lib/php5/ самый древний 17.02.2013 23:40, самый новый 18.02.2013 11:42
это означает, что кронтаск работает правильно
по адресу указаному в phpinfo есть файл пхп.ини, но абсолютно пустой!!!
и еще с ним файл по названию «php», он без расширения с содержимым:
Как тогда изменить этот session.gc_probability и стоит ли его с 1 на 0 менять?
Спасибо!
это скрипт, запускающий бинарник, не надо его трогать
попробуем в него записать session.gc_probability=0, перезапустить апач (или под чем там php крутится) и посмотреть phpinfo еще раз