session_destroy
удалить данные сеанса на носителе (файл, база данных и т. Д.), Где они хранятся, но не удаляет массив $_SESSION
или файлы cookie, вы должны сделать это вручную, включая PHPSESSID
cookie.
Обычно я удаляю сеансы примерно так:
foreach($_SESSION as $key => $val)
unset($_SESSION[$key]);
foreach($_COOKIE as $key => $val)
setcookie($key, '', 1);
session_destroy();
Кстати, когда вы вызываете session_regenerate_id()
файл сеанса копируется в новый файл, но старый не удаляется, если вы хотите удалить файл старого сеанса данных (вероятно, вы хотите), вы должны указать его с помощью session_regenerate_id(TRUE)
.