2015-04-21 4 views
1

Я читаю о сессиях PHP и в разделе session_destroy().php session_destroy() что он на самом деле делает?

Руководство гласит:

Уничтожает все данные, зарегистрированные в сессии

Мой вопрос: что данные? Если эта функция не уничтожает сеансы id/cookie, что она фактически уничтожает?

ответ

3

Когда создается сеанс (session_start), файл создается с уникальным идентификатором, который предоставляется пользователю в качестве файла cookie, когда переменные в массиве $_SESSION изменены или добавлены, временный файл обновляется с этой информацией, так что его можно использовать где-то еще на веб-сайте.

Если у пользователя уже есть файл cookie PHPSESSID (который является тем, что предоставляется пользователю при создании сеанса), PHP будет просматривать все файлы сеанса для файла с идентификатором, имеющим то же значение, что и файл cookie , Если один найден, информация в файле заполнит $_SESSION, в противном случае новый сеанс будет создан, как обычно.

session_destroy удалит этот файл, это обычно делается, когда пользователь выходит из вашего сайта, чтобы (теперь бесполезный и ненужный) файл не занимал место.

+0

спасибо! @AlphaDelta – user3809875

+0

Не стоит ничего, что он '' не отменяет каких-либо глобальных переменных, связанных с сеансом, или не удаляет cookie сеанса. Чтобы снова использовать переменные сеанса, нужно вызвать session_start(). "' (* Принято из ['session_destroy()'] (http://php.net/manual/en/function.session-destroy.php) docs *). Кроме этого, это прекрасный ответ! – Darren

Смежные вопросы