session_unset()和session_destroy()的区别异同对比
session_unset():
清空session文件中的所有session data
不会删除session文件
当前脚本中的$_SESSION变量变成空数组
session_status()返回值为2(PHP_SESSION_ACTIVE)
不能直接再次调用session_start();
session_destroy():
删除session文件,直接导致session data失效
session_status()返回值为1(PHP_SESSION_NONE)
当前脚本中的$_SESSION变量保持session_destroy()调用之前的原样,不会重置为空数组
需要再次调用session_start()才能重新开启会话
以上仅针对以文件形式存取session data. 如果通过session_set_save_handler()改变了session处理机制,比如换成了数据库存取session data,就没有删除session文件的操作,而是从数据表中删除一条对应的数据。
以上两个函数都不会改变session id,不会改变会话cookie. |
|