PHP session_unset()和session_destroy()的区别异同

Nokia 发表于 2016/5/25 22:45 | 显示全部楼层 |阅读模式
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.

手机版|轻松E站

E-mail: OHCC@163.COM

快速回复 返回顶部 返回列表