session_abort()的作用是什么?

5

我一直在查看PHP会话函数,看到了session_abort()

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

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


1
从:PHP session_abort 参考 session_abort() 结束会话而不保存数据。因此,会话数据中的原始值被保留。 - semihcosu
2个回答

9

session_abort()session_write_close()类似。

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

请求1进入时,会话1被该进程锁定,以便进行任何必要的更改。如果请求2针对会话1进入,则php会阻止,直到会话锁定已释放,以确保请求2具有最新的会话数据。

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

编辑:调用session_abort()session_write_close()将使php处理请求2,即使请求1未完成处理也是如此。


1
谢谢。我们什么时候使用session_abort()函数?它有用吗? - Pooya sanaei
1
如果您知道会话数据没有更改,并且希望请求停止阻塞第二个请求,则此功能可能很有用。 - Josh J
1
感谢Josh Trii Johnston。你的回答真的很有帮助。 - Pooya sanaei
1
非常感谢,对我很有用。 - ZKR Devs

3

1
谢谢。您可以给我一个例子吗? - Pooya sanaei
以上参考链接中有各种示例,请参考。干杯..!! - Amit Horakeri
谢谢Amit。我懂了。 - Pooya sanaei
太棒了,很高兴你搞定了!干杯! - Amit Horakeri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接