可能重复:
What is the difference between session_unset() and session_destroy() in PHP?会话未设置,或session_destroy?
什么是最好的安全性,如果会话未设置为加载时间更好的下一次会议上有访问,而不是重现?
可能重复:
What is the difference between session_unset() and session_destroy() in PHP?会话未设置,或session_destroy?
什么是最好的安全性,如果会话未设置为加载时间更好的下一次会议上有访问,而不是重现?
取消设置会销毁特定的会话变量,而session_destroy()
将销毁该用户的所有会话数据。
这真的取决于你的应用程序,你应该使用哪一个。请牢记上述内容。
unset($_SESSION['name']); // will delete just the name data
session_destroy(); // will delete ALL data associated with that user.
一个需要注意的,在$_SESSION
变量仍设置在同一个页面调用session_destroy()
作为地方使用unset($_SESSION)
或$_SESSION = array()
时,这是不是这种情况了。此外,unset($_SESSION)
吹走了超全球$_SESSION
,所以只有当你摧毁一个会议时才这样做。
综上所述,最好像PHP文档在the first example for session_destroy()
中那样做。
任何想法为什么$ _SESSION变量在调用session_destroy()之后仍然设置? – wkm 2012-07-23 20:36:15
@wkm,“'session_destroy()'销毁与当前会话相关的所有数据,不会取消设置与会话相关的全局变量,也不会取消设置会话cookie,要再次使用会话变量'session_start ()'必须被调用。“ - http://php.net/manual/en/function.session-destroy.php – 2017-10-17 07:14:00
你能澄清你的问题吗? – bensiu 2011-04-18 01:57:08
有会话销毁和未设置,有什么区别? – Basic 2011-04-18 01:58:22
我不认为这是重复的。从接受的答案来看,我认为用户的意思是'unset()',而不是'session_unset()'。 – 2015-04-17 19:41:31