一尘不染

PHP中的session_unset()和session_destroy()有什么区别?

php

从php.net文档中:

session_destroy—销毁注册到会话的所有数据

session_unset —释放所有会话变量

我的三部分问题是:

这两个功能看起来非常相似。
两者之间的真正区别是什么?

两者似乎都删除了注册到会话的所有变量。它们中的任何一个是否实际上破坏了会话本身?如果不是,您如何完成此任务(销毁会话本身)。

这两个函数都没有删除客户端的会话cookie是否正确?


阅读 263

收藏
2020-05-26

共1个答案

一尘不染

session_unset 只是清除$_SESSION变量。等效于:

$_SESSION = array();

因此,这只会影响局部$_SESSION变量实例,而不会影响会话存储中的会话数据。

与此相反, session_destroy销毁存储在会话存储器中的会话数据(例如文件系统中的会话文件)。

其他所有内容保持不变。

2020-05-26