2013-11-21 3 views
8

Я не могу найти окончательный ответ в Интернете, поэтому я прошу здесь.Когда заканчивается сеанс PHP?

Когда один использует session_start(); в сценарии .php и сохраняет некоторые значения, когда заканчивается сеанс? Итак, когда эти ценности не будут доступны снова?

Я обнаружил, что обновление страницы или прекращение сеанса кода приведет к ее прекращению, и возможный тайм-аут также остановит сеанс. Но как насчет перехода от сайта и возвращения через минуту? И закрытие браузера?

Что касается последнего, на мобильном, что означает «закрытие браузера»? Закрытие вкладки или даже минимализация сайта?

+0

Короткий ответ - это зависит от браузера. –

+0

Может зависеть от конфигурации вашего сервера – Carlos487

ответ

5

Если ваши значения сеанса не связаны с каким-либо файлом cookie, сеанс завершится, когда браузер окон будет закрыт.

Если ваша переменная сеанса поступает из файла cookie, сеанс будет завершен после времени, указанного в файле cookie.

В PHP сессии работают с файлом cookie типа session. На стороне сервера информация о сеансе постоянно удаляется.

Чтобы установить время жизни куки в PHP, вы можете использовать функцию session_set_cookie_params перед session_start:

session_set_cookie_params(3600,"/"); 
session_start(); 

Для ех, 3600 секунд это один час, в течение 2-х часов 3600 * 2 = 7200 .

Но это сеансовый файл cookie, он может истекать сам, если вы хотите сохранить более длительные сеансы (например, запомнить логин), вам нужно сохранить данные на сервере и стандартный файл cookie на стороне клиента.

Переход от сайта при использовании файлов cookie не прерывает сеанс.

1

Есть две вещи, которые могут эффективно завершить сеанс:

  1. Куки связывая его с браузером разрушается. Обычно PHP использует сеансовые куки. Они удаляются при закрытии браузера. браузер, а не вкладка. Их также можно удалить вручную.
  2. Когда сервер не получил запрос от браузера с сеансовым файлом cookie для сеанса на определенное количество времени (определено в session.gc_maxlifetime), и он очищает данные сеанса.
Смежные вопросы