Одновременное выполнение скрипта

  • Автор темы Автор темы 2kish
  • Дата начала Дата начала

2kish

Новичок
Здравствуйте уважаемые гуру PHP.
У меня такая ситуация.
На сервере есть файл index.php. В нем код выполняется 10 сек.
Если (почти) одновременно запустить с двух браузеров этот скрипт www.test.ua/index.php,
то сервер сначала обрабатывает скрипт для первого браузера, а потом когда закончит выполнять,
то начинает выполнять для второго браузера. Как сделать так чтоб скрипт выполнялся параллельно для двух браузеров?

Примечание.
Если сделать файл index2.php с таким же кодом как и в index.php и одновременно в первом браузере запустить
www.test.ua/index.php, а во втором запустить www.test.ua/index2.php, то запросы выполняются параллельно и возвращают респонс практически в одно и то же время.

Спасибо.
 
2kish
они запускаются параллельно, поверь на слово. а вот нафига ты процессы сериализировал и каким образом ответь сам, из URL это не понятно!
 
Последнее редактирование:
запустить с двух браузеров этот скрипт
Это как это он запускается? В 2-х разных вкладках одного броузера, или действительно в 2-х разных. В Хроме и Фоксе, к примеру.

Типичная причина такого поведения - сессия открывается и блокируется. Пока она не разблокируется - второй скрипт ждет.
 
А можно узнать, что скрипт там эти 10 секунд делает? Может и не надо ждать так долго? Оптимизировать, вынести в фоновые задачи?
 
Это как это он запускается? В 2-х разных вкладках одного броузера, или действительно в 2-х разных. В Хроме и Фоксе, к примеру.

Типичная причина такого поведения - сессия открывается и блокируется. Пока она не разблокируется - второй скрипт ждет.
в двух разных браузерах
 
У меня проэкт на Zend Framework. Некоторые скрипты я поставил на крон который дергает юрл например www.site.ru/cron/job1
Пока этот юрл не вернет ответ другие юзеры не получают ответ от сервера по другим урлам (пример: www.site.ru/users ). Точка вохода в зенду идет всегда через один файл index.php

Аналогично експерементировал с скриптом в котором ставил код:

PHP:
<?php
    sleep(10);
   echo "done";
 
Вопрос решен. Проблема была в локальном сервере. На хостинге все хорошо.
Всем спасибо за помощь.
 
Сверху