'session_destroy()' полностью уничтожает и делает недоступной суперглобальную переменную $_SESSION?

Я узнал, что

session_unset() удаляет все переменные сеанса, что означает, что он просто очищает переменную $_SESSION, и это эквивалентно выполнению:

$_SESSION = array();

Это влияет только на экземпляр/ы локальной переменной $_SESSION.

session_destroy() уничтожает данные сеанса, хранящиеся в хранилище сеансов.

Мой вопрос, как показано ниже:

  1. Означает ли сеанс суперглобальную переменную $_SESSION?
  2. При вызове session_destroy() суперглобальная переменная $_SESSION также будет уничтожена и станет недоступной?
  3. Если сверхглобальная переменная $_SESSION не становится недоступной даже после вызова session_destroy(), то что она на самом деле уничтожает, когда экземпляры переменных сеанса уже уничтожены session_unset()?

Спасибо.


person PHPFan    schedule 13.08.2017    source источник


Ответы (1)


При запуске сеанса идентификатор сеанса будет сгенерирован и сохранен в виде файла cookie.

session_destroy() удалит массив $_SESSION и, таким образом, сделает то же самое, что и session_unset(), но кроме того, он также уничтожит идентификатор сеанса. Файл cookie будет очищен.

С этого момента вы можете снова получить доступ к переменной $_SESSION только после запуска сеанса с session_start().

person Bram van Dartel    schedule 13.08.2017