вышел из системы через 2-3 минуты бездействия - PullRequest
0 голосов
/ 22 января 2010

Сессия в моем приложении часто заканчивается.

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 22 января 2010

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

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

0 голосов
/ 22 января 2010

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

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

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

...