Session_status() возвращает PHP_SESSION_NONE при создании сеанса ⇐ Php
-
Anonymous
Session_status() возвращает PHP_SESSION_NONE при создании сеанса
Я столкнулся с проблемой различения состояния сеанса, когда сеанс не существует, и состояния, когда сеанс просто остановлен, но не уничтожен.
[1] Допустим, я еще не создал сеанс. Файл сеанса не существует, переменные сеанса не существуют. Когда я вызываю функцию session_status(), она возвращает PHP_SESSION_NONE, отлично.
[2] Теперь я создал сеанс с помощью session_start() и снова проверяю статус сеанса, теперь я получаю PHP_SESSION_ACTIVE, тоже отлично.
[3] Теперь я завершаю сеанс (не уничтожая его), используя session_write_close(), и проверяю статус сеанса. Теперь я получаю PHP_SESSION_NONE! Дело в том, что... на этот раз данные сеанса (и все переменные) существуют!
Как отличить состояние [1] и состояние [3]? Функция session_status() возвращает тот же результат, как если бы состояние было тем же (а оно не то же самое).
Я столкнулся с проблемой различения состояния сеанса, когда сеанс не существует, и состояния, когда сеанс просто остановлен, но не уничтожен.
[1] Допустим, я еще не создал сеанс. Файл сеанса не существует, переменные сеанса не существуют. Когда я вызываю функцию session_status(), она возвращает PHP_SESSION_NONE, отлично.
[2] Теперь я создал сеанс с помощью session_start() и снова проверяю статус сеанса, теперь я получаю PHP_SESSION_ACTIVE, тоже отлично.
[3] Теперь я завершаю сеанс (не уничтожая его), используя session_write_close(), и проверяю статус сеанса. Теперь я получаю PHP_SESSION_NONE! Дело в том, что... на этот раз данные сеанса (и все переменные) существуют!
Как отличить состояние [1] и состояние [3]? Функция session_status() возвращает тот же результат, как если бы состояние было тем же (а оно не то же самое).
Мобильная версия