1. 云栖社区>
  2. PHP教程>
  3. 正文

php session阻塞

作者:用户 来源:互联网 时间:2017-11-30 20:23:25

phpsession阻塞

php session阻塞 - 摘要: 本文讲的是php session阻塞, 一个与tag.js开发使用多次异步xhr的时候差不多的问题,当进入页面默认有一个比较慢的xhr,然后进行其他xhr的时候,必须按照顺序返回,即使前面的xhr比较慢,后面的比较快,查阅资料之后是session阻塞的问题 是不是session

一个与tag.js开发使用多次异步xhr的时候差不多的问题,当进入页面默认有一个比较慢的xhr,然后进行其他xhr的时候,必须按照顺序返回,即使前面的xhr比较慢,后面的比较快,查阅资料之后是session阻塞的问题


是不是session_start导致了阻塞?


结合了PHP的Session机制,找到了阻塞的原因。由于PHP的Session信息是写入文件的,1个客户端占有1个session文件。因此,当 session_start被调用的时候,该文件是被锁住的,而且是以读写模式锁住的(因为程序中可能要修改session的值),这样,第2次调用 session_start的时候就被阻塞了。


最简解决方法:
使用session_write_close函数,作用是Write session data and end session,也就是写session的数据,同时关闭这个session。因此,我们可以在用完session之后,调用这个函数关闭session 文件即可解除锁定。一般,session是用来记录用户身份信息的,以便PHP进行身份认证,因此完全可以将session的读写放在页面刚开始执行的时候,在执行完以后,马上调用session_write_close函数即可。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , session 阻塞 ,以便于您获取更多的相关知识。