Как долго длится моя сессия?
Может кто-нибудь, пожалуйста, скажите мне, как долго мой сеанс будет длиться от данных ниже? - Я не знаю, что мне скажет
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Ответы
Ответ 1
В общем вы можете сказать session.gc_maxlifetime определяет максимальное время жизни с момента последнего изменения ваших данных сеанса (не в последний раз session_start
был вызван!). Но обработка сеансов PHP немного сложнее.
Поскольку данные сеанса удаляются сборщиком мусора, который вызывается только session_start
с вероятностью session.gc_probability, разделенный session.gc_divisor. Значения по умолчанию: 1 и 100, поэтому сборщик мусора запускается только в 1% от всех вызовов session_start
. Это означает, что даже если сеанс уже рассчитан теоретически (данные сеанса были изменены больше, чем session.gc_maxlifetime секунд назад), данные сеанса могут использоваться дольше.
В связи с этим я рекомендую вам реализовать собственный механизм тайм-аута сеанса. См. мой ответ" Как мне закончить сеанс PHP через 30 минут? для получения более подробной информации.
Ответ 2
Это тот. Сеанс будет длиться 1440 секунд (24 минуты).
session.gc_maxlifetime 1440 1440
Ответ 3
Вы ищете gc_maxlifetime, см. http://php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime для описания.
Ваш сеанс будет длиться 1440 секунд, что составляет 24 минуты (по умолчанию).
Ответ 4
Если session.cookie_lifetime
равно 0, cookie сеанса живет до тех пор, пока браузер не закроется.
EDIT. Другие отметили настройку session.gc_maxlifetime
. Когда происходит сбор мусора сеанса, сборщик мусора удалит любые данные сеанса, к которым не было доступа более, чем session.gc_maxlifetime
секунды. Чтобы установить время ожидания для файла cookie сеанса, вызовите session_set_cookie_params()
или задайте параметр session.cookie_lifetime
PHP. Если этот параметр больше, чем session.gc_maxlifetime
, вы должны увеличить session.gc_maxlifetime
до значения, которое больше или равно времени жизни файла cookie, чтобы гарантировать, что ваши сеансы не будут действовать.