session_abort()的目的

时间:2015-09-14 13:00:10

标签: php function session

我一直在检查PHP会话功能,我看到了session_abort()

  • 使用session_abort()的目的是什么?

  • session_abort()session_destroy()之间有什么区别?

2 个答案:

答案 0 :(得分:8)

session_abort()类似于session_write_close()

PHP在Web请求期间锁定会话数据,以防止多个同时请求中的数据损坏。

请求1 进入时,会话1 会被该进程锁定,因此可以进行所需的任何更改。如果请求2 进入会话1 ,则会阻止,直到会话锁定被释放,以确保请求2 具有最高的权限 - 日期会话数据。

session_abort()关闭会话并释放锁定而不将会话数据刷新到会话存储机制,而session_write_close()将会话的当前内容写回,然后关闭/释放锁定。

编辑:即使请求1 未完成处理,调用session_abort()session_write_close()也会让php处理请求2

答案 1 :(得分:3)

session_abort()在不保存数据的情况下完成会话。因此保留了会话数据中的原始值。

session_destroy()会销毁与当前会话关联的所有数据。它不会取消设置与会话关联的任何全局变量,也不会取消设置会话cookie。要再次使用会话变量,必须调用session_start()。

参考文献:

http://php.net/manual/en/function.session-destroy.php

http://php.net/manual/en/function.session-abort.php