2015-05-22 2 views
1

Простите меня, если это дублированный вопрос, но я потратил большую часть часа на поиски и не нашел ничего конкретного. Или я не знал, как сформулировать вопрос.Серверные несколько вкладок одновременно

Проблема:

Я администрировать веб-сайт, который работает на PHP приложение, использующее рамки CakePHP. У нас проблема: если вы хотите открыть несколько вкладок для одного домена, вам придется ждать возвращения данных первого запроса до возвращения данных другой вкладки. , например. скажем, я нажимаю ссылку, которая запускает тяжелый запрос БД и занимает 5 секунд, чтобы вернуть и отобразить страницу. Но после нажатия этой ссылки я также нажимаю некоторые другие ссылки для очень легких страниц. Эти другие вкладки не будут отображаться до тех пор, пока первая вкладка не вернет данные с сервера.

Я также знаю, что обработка на стороне сервера выполняется async. потому что, даже если я загружаю 2 тяжелых вкладки, как только первый возвращает, 2-й также возвращает и отображает страницу.

Итак ... мой вопрос в том, является ли это проблемой, связанной с кодом или проблемой с конфигурацией, и как я буду исправлять это?

Stack: Apache 2.2.14 PHP 5.3.2 CakePHP 2,4 Ubuntu 10,04

Любая помощь или указатели в правильном направлении будет высоко ценится.

P.S. Я знаю, что это возможно, потому что примерно год-два назад мне удалось заставить это работать, но это что-то испортило с нашими сеансами, поэтому мне пришлось отменить то, над чем я работал.

ответ

2

Его фактически функция браузера, хотя я не могу найти хорошую ссылку на нее.

https://productforums.google.com/forum/#!topic/chrome/H0AHdeAXSFo

тема, но реально не показывают много. Возможно ли загрузить страницу, а затем загрузить результаты, хотя AJAX? Вы не страдаете такими же проблемами.

EDIT:

Ответ выше не так ... Это вызвано сессии блокировки.

Пример 4 на http://php.net/manual/en/function.session-start.php

<?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, 
]); 
+0

Да, я мог бы, но тогда у нас есть более 2000 маршрутов, которые должны были бы быть изменены среди множества других действий. Я прочитал, что браузер ограничивает это, но я уверен, что прочитал 6 одновременных запросов. Я просто хочу, чтобы 2 или 3 загружались в одно и то же время или выполняли 1 тяжелый и продолжали работать в другой вкладке. – SidMalde

+0

Im не 100% уверен, что это предел, который попадает, Thats максимальное количество HTTP-запросов. Эта проблема я мог бы реплицировать одним запросом на страницу, которая просто спала в течение 1 минуты. Поэтому хорошо по сумме. Я снял эту тему в случае ответа, чтобы обойти ее. Для справки я использовал хром, когда видел это поведение. – exussum

+0

У меня был только верх. Этот ответ на 100% ошибочен !!! Это вызвано блокировкой сеанса в PHP. – exussum

Смежные вопросы