在我的页面中,我创建了一个会话,该会话正确可用:
print_r($_SESSION); --> Array ( [favcolor] => blue [animal] => dog [time] => 1623858503 )
print_r($_COOKIE); --> Array ( [PHPSESSID] => 844a8b3a5dd0365cc80c4802f7a3a6cb )
然后,我使用以下代码关闭会话:
<?php
session_start();
$_SESSION = array();
unset($_SESSION);
?>
现在,会话似乎已关闭,因为变量未设置,但 PHPSID 仍然存在:
print_r($_SESSION); --> 数组 ( ) 打印_r($_COOKIE); --> 数组([PHPSESSID] => 844a8b3a5dd0365cc80c4802f7a3a6cb)
the session should be closed so the SID should be removed as well?
答案 0 :(得分:0)
取消会话只会删除您维护的有关该用户的内部数据,这些数据存储在您的服务器中。会话的 ID 仍然保存在用户的 cookie 中。如果你想删除它,你可以手动进行
setcookie('PHPSESSID', '', time() - 86400, '/');
此外,在删除会话时,您应该使用函数 session_destroy
而不是取消设置数组。