为什么要在session_write_close长轮询可以用吗?(Why should sessio

2019-07-31 13:49发布

我正在读关于在长轮询的文章Nolithius 。 根据部分PHP睡在整个会议上 ,写的是session_write_close功能应以防止未来死锁整个会话调用。 究竟是由死锁在这里是什么意思? 这是否意味着,如果没有这个功能,从客户端打开的同一领域的其他页面将无法接收数据AJAX从其他脚本(像这样的),直到这个已经执行完毕并返回结果? 为什么发生这种情况? 如何才能session_write_close这里帮助吗? 不会使用它删除从客户端的所有个性化,他已经从这个请求中接收数据后,他从该域请求一个页面下一次?

Answer 1:

这是我的理解:

当基于文件会话用于每个请求字面上锁定该文件,直到请求的结束。

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

这是为了避免会话数据损坏。

使用session_write_close()将清理(但不丢失任何会话数据),并释放锁更早上的文件允许其它请求继续。

这是特别是如果你有睡眠很多的脚本很好的做法,很可能。



文章来源: Why should session_write_close be used in long polling?