ProfiPHPProfiPHP
Категория: Функции обращения к сессиям

Функция Session_destroy

Функция Session_destroy уничтожает все данные, связанные с текущим сеансом.
bool session_destroy( void )
Функция Session_destroy уничтожает все данные, связанные с текущим сеансом без удаления глобальных переменных, связанных с данным сеансом. Чтобы снова использовать переменные сеанса, необходимо вызвать Session_start.

Рекомендуется не использовать функцию Session_destroy из обычного кода, а очищать массив $_SESSION. Немедленное удаление сеанса может привести к нежелательным результатам. Когда есть одновременные запросы, другие соединения могут видеть внезапную потерю данных сеанса.

Для полного уничтожения сеанса необходимо отключить идентификатор данного сеанса. Если для распространения идентификатора сеанса (поведение по умолчанию) используется куки-файл, тогда файл Cookie сеанса должен быть удален. Для этого можно использовать setcookie.

При включенной конфигурационной директиве session.use_strict_mode, не нужно удалять устаревший куки-файл сеанса, потому что модуль сеанса не будет принимать куки-файл сеанса, если нет данных, связанных с идентификатором сеанса, и установит новый куки-файл сеанса. Включение session.use_strict_mode рекомендуется для всех сайтов.

Пример работы функции:
session_id( 'MySessionId1'  );
session_start( );
$_SESSION['color'] = 'Green';
// Необходимо удалить переменные сеанса и Cookie
session_destroy( );
Файл сессии sess_MySessionId1, который находится в директории, указанной в конфигурационной директиве Session.save_path, будет полностью уничтожен.

Добавить комментарий

Имя:
Текст комментария: