gpt4 book ai didi

php - 为什么要在长轮询中使用session_write_close?

转载 作者:可可西里 更新时间:2023-11-01 12:29:15 34 4
gpt4 key购买 nike

我在 Nolithius 阅读了一篇关于长轮询的文章.在PHP sleep across the entire session 部分中,写到应该调用session_write_close 函数以防止整个 session 陷入死锁。这里的死锁到底是什么意思?这是否意味着如果没有这个函数,在客户端打开的同一域中的任何其他页面将无法从其他脚本(如这个)接收 AJAX 数据,直到这个脚本完成执行并返回结果?为什么会这样? session_write_close 在这方面有何帮助?在收到来自该请求的数据后,下次他从该域请求页面时,使用它不会从客户端删除所有个性化设置吗?

最佳答案

这是我的理解:

当使用基于文件的 session 时,每个请求都会锁定文件,直到请求结束。

意味着下一个请求(也使用 session 数据)必须等待锁被释放。

这用于避免 session 数据损坏。

使用 session_write_close() 将清理(但不会丢失任何 session 数据)并提前释放文件上的锁以允许其他请求继续。

这是一个很好的做法,尤其是当您的脚本可能会经常休眠时。

关于php - 为什么要在长轮询中使用session_write_close?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12401358/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com