У меня есть базовая установка сервера Apache2 и PHP5.3 на моем локальном компьютере с Ubuntu.
Я создал файл index.php и заснул в нем 30 секунд
<?php
sleep(30); // script sleep 30s
?>
Когда я запускаю "localhost / index.php" в веб-браузере, запрос ожидает 30 секунд.
За это время я удаляю эту строку sleep(30);
и запустить в новой вкладке "localhost / index.php"
Второй запрос ожидает завершения первого, так что подождите 30 секунд.
Это проблема, потому что Apache запускает только один процесс / поток. Как настроить Apache для нормальной работы? Или кто-нибудь может мне объяснить, что происходит?
Вероятно, вы зашли в тупик в файле сеанса; выключите session.auto_start и / или вызовите session_write_close () перед сном (30).
Это связано с сеансом PHP. Файл сеанса (этот странный файл, который находится в / tmp / SOMETHING) блокируется для первого запроса.
Вам следует позвонить session_write_close()
перед sleep()
(или любой бесполезный звонок). Вы можете отключить session_autostart
если вы тоже не хотите его использовать.