Zend框架 - 同一个浏览器打开多个标签页,而是要等待第一个请求到成品(Zend Framewor

2019-10-30 11:21发布

我有相同的浏览器客户端的问题尝试打开多个标签吧。 但我的服务器是等待第一个请求到成品。

例如

  1. 打开采取更喜欢30秒的时间第一个浏览器选项卡。

  2. 现在,下一个选项卡与CTR +鼠标的帮助下开单击鲍泽,这只是静态页面1秒的等待开启新标签; 但STIL我不得不等待第一个请求到成品。

注:我有网站不是在现场,但我用下面的技术PHP 5.4中,MySQL,Zend框架2.1,1.8 XAMPP

请在上述问题引导如果confution你可以在上面发表评论。 我很高兴这样做也聊天。

Answer 1:

我猜你已经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.php http://www.php.net/manual/en/function.session-start.php



文章来源: Zend Framework - Same browser open multiple tabs but wait for first request to finished