Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 399 359 раз!

Форум

Добро пожаловать, Гость!

Как сделать, чтобы php не ждал завершения предыдущего потока?

Обсуждение проблем в работе программного комплекса
DTX
Сообщения: 4
C нами: 10 мес 21 день

Непрочитанное сообщение DTX » 25 янв 2017, 15:12

Есть страница:
echo 'Start: '.date('c');
echo '<br/>';
sleep(5);
echo 'End: '.date('c');


Если открыть две таких страницы, то вторая будет ждать завершение первой.

Изображение


Как сделать так, чтобы запускался второй поток php?

Если залить подобный пример на хостинг, то такой проблемы не будет.

Martyrer
Сообщения: 8
C нами: 1 год 3 мес

Непрочитанное сообщение Martyrer » 28 янв 2017, 23:11

На самом деле дело не в PHP..
Изначально я предположил что дело в блокировке файла сессии в PHP, но судя по коду и дефолтной конфигурации OSP, в которой отключен автоматический старт сессии я исключил этот вариант.
Сделав несколько экспериментов, я пришел к выводу, что дело в браузере. Если вы ничего не меняя откроете Developer Tools хрома и поставите в обоих окнах галочку Disable Cache вы увидите как запросы перестанут блокировать друг друга и будут работать именно так, как вы ожидаете.

DTX
Сообщения: 4
C нами: 10 мес 21 день

Непрочитанное сообщение DTX » 30 янв 2017, 12:51

Не помогло.. А я уже успел было обрадоваться)
Даже вынес код из фреймворка в index.php:
<?php
echo 'Start: '.date('c');
echo '<br/>';
sleep(5);
echo 'End: '.date('c');

Изображение

DTX
Сообщения: 4
C нами: 10 мес 21 день

Непрочитанное сообщение DTX » 30 янв 2017, 13:07

Похоже, это как-то связано с xdebug.
Изменил PHP 5.6 на PHP 5.5 и всё заработало.

Спасибо!

Martyrer
Сообщения: 8
C нами: 1 год 3 мес

Непрочитанное сообщение Martyrer » 31 янв 2017, 10:33

Хм, интересно, у меня даже с включенным xDebug работает (если поставить галочку disable cache) .. без нее ситуация ровно такая же как у вас.

Аватара пользователя
Максим
Сообщения: 5218
C нами: 7 лет
Контакты:

Непрочитанное сообщение Максим » 31 янв 2017, 12:22

Зачем играете в детектива. Хром не даёт делать одновременные запросы на одинаковый адрес, а во вторых может срабатывать блокировка сессии если они используются в запрашиваемом скрипте. Обо всём этом уже написали выше.


Вернуться в «Ошибки Open Server»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость