Тайм-аут сеанса PHP - PullRequest
5 голосов
/ 20 мая 2011

Может кто-нибудь объяснить, как сделать так, чтобы сеанс длился дольше в PHP, но без использования php.ini?

Я попробовал следующее в .htaccess:

<IfModule mod_php5.c>
    #Session timeout
    php_value session.cookie_lifetime 3600
    php_value session.gc_maxlifetime 3600
</IfModule>

Я также пытался:

ini_set('session.gc_maxlifetime', '3600');

Но, похоже, ни один из них не работает.

Есть идеи?

Ответы [ 2 ]

8 голосов
/ 05 июня 2011

Хорошо - я нашел способ, и он работает - в .htaccess я просто добавил следующее, чтобы увеличить время ожидания до 5 часов:

php_value session.cookie_lifetime 18000
php_value session.gc_maxlifetime 18000
7 голосов
/ 20 мая 2011

На многих общих хостах все сеансы хранятся в одном месте.Из-за того, как работает сборка мусора, это означает, что все сеансы удаляются после кратчайшего интервала GC.

Одно из решений заключается в следующем:

php_value session.save_path "/my/personal/path"
php_value session.gc_maxlifetime "3600"

В качестве альтернативы вы можете установить customобработчик сохранения сеанса .Попробуйте сначала изменить путь сохранения, потому что пользовательские обработчики немного сложнее.

...