PHP编程中会话阻塞及解决方案分析
本文介绍PHP编程中的会话阻塞问题和解决方案:在会话过程中,在会话打开之后,相同的浏览器、相同的程序、不同的页面将被锁定。
问:这是session_start引起梗阻
所以,我写了几页测试它,发现会话造成阻塞,而另外两个案例没有造成阻塞。
查看PHP的bug列表,发现这个问题被提出来了:
描述:
—
()调用session_start似乎等到其他脚本已经退出
使用相同的会话。我猜是第一个请求
独占使用的会话文件,第二个请求阻塞直到
能打开它吗。
PHP的官方回复是:
谢谢你抽出时间给我们写信。
在PHP的会话机制结合,阻断的原因。因为PHP的会话信息写入文件,1的客户占1的会话文件。因此,当session_start时,文件被锁定,并锁定在读写模式(因为程序可能会修改会话值),所以第二次时,session_start叫,它堵塞了。
最简单的解:
经过检查PHP手册,我们发现了一个session_write_close功能,这是写会话数据和结束会话,也就是说,写会话数据,并关闭该会话。因此,我们可以打开会话通过调用这个函数的函数使用后关闭会话文件。一般来说,会话用于记录用户的身份信息,因此,PHP可以验证。因此,会话可以读取和写入页面执行的开始,和session_write_close函数可以执行后立即打电话。
有关感兴趣的读者的PHP相关内容的更多信息可以看到专用站点:PHP cookie
希望本文能对PHP程序设计有所帮助。