Ниже код дает мне выход как имя xxxxx. в то время как согласно документации session_write_close закрывает сеанс.
Пожалуйста, помогите мне понять это.
session_start();
$_SESSION['name'] = "xxxxx";
session_write_close();
print_r($_SESSION);
Ниже код дает мне выход как имя xxxxx. в то время как согласно документации session_write_close закрывает сеанс.
Пожалуйста, помогите мне понять это.
session_start();
$_SESSION['name'] = "xxxxx";
session_write_close();
print_r($_SESSION);
session_unset($_SESSION['name']);
, затем session_destroy();
ПУФ! исчезло. 26.03.2014 session_write_close != session-destroy
Определение:
Завершите текущий сеанс и сохраните данные сеанса. Данные сеанса обычно сохраняются после завершения вашего скрипта без необходимости вызова session_write_close(), но поскольку данные сеанса заблокированы для предотвращения одновременной записи, только один скрипт может работать с сеансом в любой момент времени. При использовании наборов фреймов вместе с сеансами вы будете загружать фреймы один за другим из-за этой блокировки. Вы можете сократить время, необходимое для загрузки всех кадров, завершив сеанс, как только будут выполнены все изменения в переменных сеанса.
Если вы хотите уничтожить сеанс, используйте session_destroy();
Вы можете отменить сеанс, используя
unset($_SESSION['session_name']);
В других ответах вас упомянул session_destroy() a>, чтобы уничтожить сеанс, но обратите внимание, что он не сбрасывает глобальные переменные, связанные с сеансом, и не сбрасывает файл cookie сеанса.
Вы должны использовать следующее:
// Unset all of the session variables.
$_SESSION = array();