Назад | Перейти на главную страницу

Проблема сессий с PHP-FPM на Nginx

У меня проблемы с сессиями, которые я использую в своем небольшом проекте:

PHP Notice:  Undefined index: user_ID in ../config/sessions_class.php on line 29

(это из журнала ошибок nginx)

Если пробовали установить путь сохранения для сессий в memcache и в / var / lib / php5 / sessions. Файлы сеансов фактически создаются в каталоге сеансов, поэтому разрешения пользователя должны быть правильными. В настоящее время я сохраняю пользовательские настройки для таких сеансов, как $ _SESSION ['user_ID'] на index.php, а затем перенаправляю на anotherpage.php. Если я попытаюсь получить там $ _SESSION ['user_ID'], я получу неопределенную ошибку индекса. session_start вызывается несколько раз, но я думаю, это не должно быть проблемой.

Есть предложения, где может быть проблема? Если хотите, я могу добавить файлы nginx.conf или php.ini.

РЕДАКТИРОВАТЬ: У меня есть Suhosin PHP Hardering - есть ли вероятность, что это может помешать глобальным переменным SESSION?

Это PHP-уведомление для вашего суперглобального массива $ _SESSION (который ведет себя как большинство других массив когда индекс не определен).

Уведомление указывает, что, когда $ _SESSION был проверен на наличие ключа с именем «user_ID», ничего не было найдено; вы увидите это уведомление, если у вас есть условие вроде следующего:

if ( $_SESSION['user_ID'] != 0 ) {
  // ...
}

Одним из обходных путей было бы использование функции isset () для $ _SESSION ['user_ID'] вместо этого:

if ( isset( $_SESSION['user_ID'] ) ) {
  // ...
}

Вы можете подумать о пересмотре своего конфигурация отчетов об ошибках если вы не хотите видеть уведомления в журналах.