Вопрос между session.gc_maxlifetime и session.cookie_lifetime - PullRequest
5 голосов
/ 01 апреля 2011

Мой первый вопрос в stackoverflow.Заранее спасибо!

Я так запутался в механизме сессии PHP.Я понимаю session.gc_maxlifetime по PHP - ini_set ('session.gc_maxlifetime', 5) - Почему он не завершает сеанс? .Но я до сих пор не знаю разницу между session.gc_maxlifetime и session.cookie_lifetime.

Вопрос: Что произойдет, если время session.cookie_lifetime истекло?Будет ли сессионный cookie-файл удален с клиентского компьютера напрямую?

Мне нужно выяснить этот вопрос, а затем продолжить задавать что-то еще.

Ответы [ 2 ]

4 голосов
/ 06 июня 2013

session.gc_maxlifetime - это время в секундах, после которого ваши данные сеанса могут рассматриваться как данные мусора.Другими словами, вы можете сказать, что это время, когда неиспользуемый сеанс PHP будет поддерживаться.

session.cookie_lifetime - это время жизни в секундах файлов cookie сеанса, независимо от того, является ли сеанс живымили нет.Таким образом, куки будут оставаться в живых до истечения заданного времени

См .:
http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime https://blogs.oracle.com/oswald/entry/php_session_gc_maxlifetime_vs

2 голосов
/ 01 апреля 2011

Срок действия куки передается клиенту. Если срок действия файла cookie истек, клиент обычно удаляет его. Так что это на стороне клиента. Кроме того, сеанс может быть активным даже после того, как файл cookie пропал, так как вы можете снова создать тот же файл cookie, удалить его время жизни или передать идентификатор сеанса через uri.

Надеюсь, это поможет!

...