同时为多个标签提供服务

时间:2015-05-22 13:57:59

标签: php apache cakephp ubuntu-10.04

请原谅我,如果这是一个重复的问题,但我花了一个小时的大部分时间寻找并找不到具体的东西。或者我不知道如何说出这个问题。

问题:

我管理一个使用CakePHP框架运行PHP应用程序的网站。我们遇到一个问题,如果要为同一个域打开多个选项卡,则必须等待第一个请求的数据在返回其他选项卡的数据之前返回。  例如假设我单击一个运行繁重数据库查询的链接,需要5秒钟才能返回并呈现页面。但点击该链接后,我还点击其他链接以获得非常轻的页面。在第一个选项卡从服务器接收数据之前,这些其他选项卡不会呈现。

我也知道服务器端处理是异步完成的。因为即使我加载了2个重标签,第一次返回时第2个也会返回并呈现页面。

所以...我的问题是,这是与代码相关的问题还是配置问题,我将如何纠正这个问题?

堆栈: Apache 2.2.14 PHP 5.3.2 CakePHP 2.4 Ubuntu 10.04

非常感谢任何正确方向的帮助或指示。

P.S。我知道它的可能性,因为大约一两年前,我设法让这个工作,但它搞砸了我们的会议,所以我不得不恢复我的工作。

1 个答案:

答案 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,
]);