Недавно я перевел кучу веб-сайтов на новый VPS, и у меня возникли проблемы с сеансами PHP. Все веб-сайты в значительной степени настроены одинаково, но есть один веб-сайт, где сеансы не всегда работают. То, что меня беспокоит, – это случайный случай. Я могу зайти на сайт, войти в систему, и сессия будет работать нормально. Затем, я вернусь через час, попробуйте войти в ту же учетную запись, но она больше не поддерживает сеанс.
VPS работает на CentOS 5.8 и имеет PHP 5.4.3 . Следует отметить, что до миграции веб-сайт работал на PHP 5.3 .
Я проверил session.save.path, и все в порядке. Я даже вижу файлы сеанса (с правильным пользователем и всем), но они пусты, когда сеансы не работают, что имеет смысл. Но почему это иногда срабатывает, а иногда нет? У меня проблемы с этим.
Сеансы требуют, чтобы на диске было зарезервировано место на диске, чтобы сервер сохранял дисковое пространство для сохранения сеанса? у нас возникла проблема с ящиком linux, где сеансы перестали сохраняться, поскольку в его разделе закончилось дисковое пространство.
проверьте php.ini, сделайте phpinfo () и посмотрите, как настроены сеансы … особенно посмотрите на параметр session.gc_maxlifetime.
У нас тоже была эта проблема. Мы решаем его, изменяя session.auto_start = 0 на session.auto_start = 1 в php.ini сервера. Я не знаю, почему, но это решило нашу проблему. Мы по-прежнему расследуем, почему это сработало и каковы последствия этого.
У меня также есть такая же проблема когда-то, с одним из моего выделенного сервера, на котором установлен PHP 5.4.3.
По иронии судьбы, когда я очищаю кеш браузера (все от начала).
Он работает нормально.