PHP файл, използващ функцията sleep(), не може да работи едновременно

Аз съм начинаещ в php. Сега имам проблем с функцията за заспиване, тоест имам прост файл sleep.php като този: <?php echo date('Y-m-d H:i:s'); sleep(5); ?>

Когато натисна този файл едновременно в 2 раздела, първият се изпълнява и дава този резултат: 2013-05-04 10:06:24
, но вторият трябва да изчака, докато първият се изпълни напълно, след което дава резултата: 2013-05-04 10:06:29

Въпросът ми е защо не могат да се изпълняват едновременно и по едно и също време? Това php действие ли е или поради уеб услуга или нещо друго. Пускам nginx 1.3.0

Благодаря предварително!


person im nobody    schedule 04.05.2013    source източник
comment
Погледнете в php.ini, за да видите дали session.auto_start е включен. Изглежда ми като проблем със заключване на сесия.   -  person cleong    schedule 04.05.2013
comment
Опитах, но това не е правилно. Същият резултат. Мисля, че това не е проблем с php, а проблем с уеб услуга (nginx). Както и да е, благодаря много, приятел :)   -  person im nobody    schedule 04.05.2013


Отговори (1)


Мисля, че това е поведение на браузъра. всъщност не можете да ги изпълните напълно едновременно и един от тях да се изпълни по-рано. с първото изпълнение браузърът ви отваря сесия за вас и когато друго изпълнение получи, браузърът усеща, че има същото име на файл в изпълнението. Така че изчаква, докато приключи първото изпълнение и след това започва второто изпълнение на същия файл. ако искате да видите изпълнението на вашия оператор echo в два раздела едновременно, можете да ги наименувате в две различни имена на файлове и да ги изпълните в един и същ браузър или да изпълните един файл в два различни браузъра. и в двата случая ще получите това, което очаквате.

person Amir    schedule 04.05.2013
comment
Прав си, че ги именуваш в 2 различни имена на файлове. Опитах и ​​не се съмнявам в това. Всъщност, когато се опитах да отворя my sleep.php на 2 различни компютъра, те могат да работят едновременно. Все още се чудя дали това е поведение на браузъра или проблем с nginx. Толкова странно! - person im nobody; 04.05.2013
comment
@imnobody, това е поведение на браузъра. всъщност това е така, защото бисквитките са разрешени в браузърите. ако деактивирате бисквитката, тя ще ги изпълни напълно едновременно. - person Amir; 04.05.2013
comment
прав си приятел! Тествах го с помощта на команда curl. Благодаря много, Амир! - person im nobody; 06.05.2013