2010-01-22 2 views
0

Сессия в моем приложении часто истекла.вышел из системы после 2-3 минут бездействия

session_gc_maxlifetime установлен в 24 минуты (по умолчанию);

так как мои приложения - приложение реального времени, которое в основном использует AJAX. Каждую секунду моя функция ajax вызывает HTTP-запрос. Насколько я знаю, моя сессия не должна истекать, потому что она всегда вызывала запрос ajax.

Он работает на некоторое время и истекает очень скоро (около 2-3 минут бездействия).

Может ли кто-нибудь помочь мне решить эту проблему. Не только мой сайт, но и другие веб-сайты, размещенные на одном сервере, столкнулись с одной и той же проблемой.

С благодарностью и уважением, Trez

+0

Вы используете какой-либо каркас? большинство из них изменяют поведение сеанса ... – Flatlin3

+0

нет .. на жестко запрограммированных веб-страницах. в первые 2 месяца работы сайта у него нет никаких проблем, но в прошлом месяце я заметил эту проблему. – Trez

ответ

2

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

Я предлагаю вам включить каталог для вашего сайта и установить его с помощью функции session_save_path() перед вызовом session_start().

+0

спасибо за предложение ... моя система работает сейчас. – Trez

+0

Итак, на вопрос ответили? –

0

Вы можете воспроизвести эту проблему на сервере непроизводственной?

У вас есть скрипты, которые очищают каталог сессий? Вы смотрели в каталоге сессий, чтобы узнать, сколько лет файлы?

Если вы не единственный, у кого есть доступ к корню, я бы заподозрил кого-то еще, кто есть, попробуйте поговорить с ними.

+0

Какие сценарии можно использовать для очистки каталога сеанса? Кроме того, какой конкретный каталог для сессии я могу пойти? – Trez

Смежные вопросы