PHP сессия истечение - PullRequest
       3

PHP сессия истечение

3 голосов
/ 28 января 2011

У меня сеанс, который после 30 минут бездействия уничтожается или через 23,4 часа уничтожается.

Проблема, с которой я столкнулся, связана с тем, что сеанс уничтожается через 30 минут. Таким образом, если пользователь постоянно активен в течение 23,4 часов, сеанс следует поддерживать в течение этих 23,4 часов, а затем уничтожать, заставляя пользователя снова войти в систему, но сеанс прерывается через 30 минут, даже если пользователь постоянно активен в течение этих 30 минут

Поскольку сборщик мусора смотрит на измененное время, а не на доступное время, сеанс обновляется с помощью time(), поэтому измененное время обновляется, когда пользователь что-то делает на сайте.

Вот настройки сеанса php.ini:

Directive                   Local Value     Master Value
session.cache_expire        30              30
session.cookie_lifetime     1800            1800
session.gc_divisor          1000            1000
session.gc_maxlifetime      84400           84400
session.gc_probability      1               1
session.save_handler        files           files

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

Любая помощь с этим будет принята с благодарностью.

Спасибо

Ответы [ 2 ]

3 голосов
/ 28 января 2011

session.cookie_lifetime установлен на 30 минут, поэтому срок действия файла cookie истечет через 30 минут, он не будет отправлен на сервер при следующем запросе (через 30 минут прошло), и php будет запускать еще один сеанс, так как он / она(php) не получил его в запросе.

0 голосов
/ 28 января 2011
  1. Не трогайте настройки сеансов по умолчанию. Оставьте значения по умолчанию.

  2. Проверка продолжительности сеанса с использованием самого сеанса.

...