我正在阅读一篇关于Nolithius长期民意调查的文章。在 PHP在整个会话中休眠部分下,写入应调用session_write_close
函数以防止整个会话陷入死锁。僵局究竟是什么意思?是否意味着如果没有此函数,在客户端打开的同一域中的任何其他页面将无法从其他脚本(如此脚本)接收AJAX数据,直到此脚本执行完并返回结果为止?为什么会这样? session_write_close
如何在这里提供帮助?在他收到此请求的数据后,下次从该域请求页面时,是否会使用它从客户端删除所有个性化内容?
答案 0 :(得分:17)
这是我的理解:
当使用基于文件的会话时,每个请求都会将文件锁定,直到请求结束。
意味着下一个请求(也使用会话数据)必须等待释放锁。
这用于避免会话数据损坏。
使用session_write_close()
将清理(但不会丢失任何会话数据)并在文件前面释放锁定,以允许其他请求继续。
这是一种很好的做法,特别是如果你的脚本可能会睡得很多,可能就是这样。