Назад | Перейти на главную страницу

Длительно работающий скрипт php зависает / завершается на IIS 7.5

Я немного нервничаю, когда дело доходит до настройки IIS 7.5 и Php, поэтому извиняюсь, если это глупый вопрос, но я боролся с этим более полдня и мне нужен свежий ввод.

У меня есть приложение php, работающее на IIS 7.5, php 5.4, работающее как fastcgi. Приложение работает абсолютно нормально, за исключением того, что долго работающие скрипты php кажутся зависшими; нет ошибки 500, они просто кажутся никогда не завершенными и возвращают результаты в браузер.

Я написал простой тестовый сценарий ниже, чтобы исключить возможность ошибки программирования в основном приложении:

<?php
/* test timeout */
/*set_time_limit(110);*/
echo "Testing time out in seconds\n";
for ($i = 0; $i < 175; $i++) {
    echo $i." -- ";

    if(sleep(1)!=0)
    {
        echo "sleep failed script terminating"; 
        break;
    }
}

?>

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

Вот параметры тайм-аута, которые я установил для php и fastcgi. Я также поигрался с установкой этих очень низких значений, чтобы получить различные ошибки тайм-аута, и добился успеха, что привело меня к выводу, что есть еще один параметр, который мне не хватает ...

Fastcgi

Тайм-аут активности = 800 Тайм-аут простоя = 900 Тайм-аут запроса 800

PHP

max_execution_time = 700

Любые решения или указатели в правильном направлении были бы очень ... очень приветствуются.

Спасибо

Прошло много времени с тех пор, как я занимался этим, но вам нужно увеличить тайм-ауты CGI в IIS, поскольку он просто убьет процесс PHP, если он будет работать слишком долго.