выход из системы после 2-3 минут бездействия

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

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

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

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

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

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


person Trez    schedule 22.01.2010    source источник
comment
Вы используете какой-либо фреймворк? большинство из них изменяют поведение сеанса...   -  person Flatlin3    schedule 22.01.2010
comment
нет... это жестко закодированные веб-страницы. в первые 2 месяца работы веб-сайта у него не было никаких проблем, но в прошлом месяце я заметил эту проблему.   -  person Trez    schedule 22.01.2010


Ответы (2)


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

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

person Álvaro González    schedule 22.01.2010

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

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

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

person MarkR    schedule 22.01.2010
comment
какие возможные сценарии использовать для очистки каталога сеанса? ТАКЖЕ, в какой конкретный каталог для сеанса я могу перейти? - person Trez; 22.01.2010