PHP работает в один поток

Alien85

I like my cat
У меня на сайте есть скрипт, в котором одна строчка: sleep(10);
если я в браузере запущу этот скрипт, то в течении этих 10 секунд не смогу получить доступ к остальным страницам сайта!
а если я в это же время открою страничку на этом сайте с другого компьютера, то этого ожидания нет.
в чем может быть проблема?

пробывал на 2-х сборках:
1. Apache + phpfastcgi
2. Nginx + phpfastcgi

пример:
script1.php // тут sleep(10);
script2.php // если запустить его после script1.php, то он будет ждать пока выполнится script1.php
 

Вурдалак

Продвинутый новичок
Нужно дёргать session_commit() перед этим sleep'ом. Но хз зачем тебе это.
 

Alien85

I like my cat
УРАААААААААА! наконец-то, вопрос решился! ВСЕМ СПАСИБО ЗА ПОМОЩЬ. Теперь можно идти спать...

sleep приведен специально для упрощения программы, на самом деле вместо sleep стоит simplexml_load_file($url) эта функция ждет ответа от сервера от 30 до 60 секунд (сервер долго генерит данные). Естественно, скрипт запускается по крону, но вот у меня бывают случаи, что мне нужно запустить его вручную из браузера, вот тут для меня весь сайт и замирает.

Еще раз всем спасибо!
 
Сверху