请原谅我,如果这是一个重复的问题,但我花了一个小时的大部分时间寻找并找不到具体的东西。或者我不知道如何说出这个问题。
问题:
我管理一个使用CakePHP框架运行PHP应用程序的网站。我们遇到一个问题,如果要为同一个域打开多个选项卡,则必须等待第一个请求的数据在返回其他选项卡的数据之前返回。 例如假设我单击一个运行繁重数据库查询的链接,需要5秒钟才能返回并呈现页面。但点击该链接后,我还点击其他链接以获得非常轻的页面。在第一个选项卡从服务器接收数据之前,这些其他选项卡不会呈现。
我也知道服务器端处理是异步完成的。因为即使我加载了2个重标签,第一次返回时第2个也会返回并呈现页面。
所以...我的问题是,这是与代码相关的问题还是配置问题,我将如何纠正这个问题?
堆栈: Apache 2.2.14 PHP 5.3.2 CakePHP 2.4 Ubuntu 10.04
非常感谢任何正确方向的帮助或指示。
P.S。我知道它的可能性,因为大约一两年前,我设法让这个工作,但它搞砸了我们的会议,所以我不得不恢复我的工作。
答案 0 :(得分:2)
它实际上是一个浏览器功能,但我目前找不到一个好的参考。
https://productforums.google.com/forum/#!topic/chrome/H0AHdeAXSFo
是一个话题,但并没有真正显示出来。是否可以加载页面然后通过AJAX加载结果?然后你不会遇到同样的问题。
编辑:
上面的答案是错误的...... 这是由会话锁定引起的。
http://php.net/manual/en/function.session-start.php
上的示例4<?php
// If we know we don't need to change anything in the
// session, we can just read and close rightaway to avoid
// locking the session file and blocking other pages
session_start([
'cookie_lifetime' => 86400,
'read_and_close' => true,
]);