我有相同的浏览器客户端尝试打开多个选项卡的问题。但是我的服务器正在等待第一个请求完成。
例如
-
打开第一个浏览器选项卡需要更多的时间,如30秒
-
现在,下一个选项卡打开与CTR +鼠标点击打开新选项卡在浏览器,只是静态页面1秒等待;但是我仍然需要等待第一个请求完成
注意:我有网站不在现场,但我正在使用以下技术PHP 5.4, Mysql, Zend Framework 2.1, Xampp 1.8
请在上面的问题中指导,如果你可以评论它的混乱。我也很乐意做聊天。
我猜你每页都有session_start()
。
默认的PHP会话基于文件。因此,只要调用session_start()
,服务器上就会出现文件锁。在完成此过程之前,文件锁不会被释放。
要解决这个问题,使用session_write_close()
在您的页面。有效地使用这个会话写关闭。一旦您将所有内容写入会话,然后关闭它。
session_write_close()将释放锁。在session_write_close()
之后,您可以从会话中读取数据,但不能写入数据。如果你想写它,那么你需要使用session_start()
重新启动会话。
会话数据通常在脚本终止后存储,没有需要调用session_write_close(),但由于会话数据是锁定的为了防止并发写,一个会话只能有一个脚本操作随时都可以。当将框架集与会话一起使用时,您将由于这种锁定,体验帧一个接一个加载。你可以通过结束会话来减少加载所有帧所需的时间当所有的会话变量修改完成后。
裁判:
http://www.php.net//manual/en/function.session-write-close.phphttp://www.php.net/manual/en/function.session-start.php