session_destroy

(PHP 4, PHP 5, PHP 7, PHP 8)

session_destroy — Знищує всі дані сесії

Опис

session_destroy(): bool

session_destroy() знищує всі дані, пов'язані з поточною сесією. Ця функція не видаляє будь-які глобальні змінні, пов'язані з сесією та не видаляє сесійні cookie. Щоб знову використати змінні сесії, слід викликати session_start()

Зауваження: Немає необхідності викликати session_destroy() у звичайному коді. Очищайте масив $_SESSION замість видалення сесії даних.

Щоб повністю видалити сесію, також необхідно видалити її ідентифікатор. Якщо для передачі ідентифікатора сесії використовуються cookie (поведінка за умовчанням), сесійні cookie також повинні бути видалені. Для цього можна використати setcookie()

При ввімкненій опції session.use_strict_modeВам не потрібно видаляти застарілі cookie ідентифікатора сесії. У цьому немає необхідності, тому що модуль сесії не прийме cookie ідентифікатора сесії, якщо з цим ідентифікатором сесії немає зв'язаних даних, і модуль сесії встановить новий cookie ідентифікатора сесії. Рекомендується вмикати опцію session.use_strict_mode для всіх веб-сайтів.

Увага

Негайне видалення сесії може призвести до небажаних наслідків. За наявності конкуруючих запитів інші з'єднання можуть зіткнутися з раптовою втратою даних сесії, наприклад, це можуть бути запити від JavaScript та/або запити з посилань URL.

Навіть якщо поточний модуль сесії не підтримує порожні cookie ідентифікатора сесії, негайне видалення сесії може призвести до порожнього cookie ідентифікатора сесії через стан гонки на стороні клієнта (браузера). Це призведе до того, що клієнт створить багато ідентифікаторів сесії без необхідності.

Щоб цього уникнути, необхідно встановити $_SESSION тимчасову мітку видалення та прибрати доступ пізніше. Або переконатися, що ваша програма не має конкуруючих запитів. Це також стосується session_regenerate_id()

Список параметрів

Ця функція не має параметрів.

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

Приклади

Приклад #1 Уничтожение сессии с помощью$_SESSION

Loading...

Дивіться також