Как увеличить время ожидания запроса / подключения в приложении Apache-FastCGI-PHP с помощью .htaccess - PullRequest
3 голосов
/ 02 декабря 2010

Я пытаюсь увеличить время ожидания соединения / запроса на нашем выделенном серверном пространстве.

Причина, по которой я пытаюсь это сделать, заключается в том, что для некоторых операций в моем приложении требуется более 120 секунд, а затем сервер не ожидает завершения операции. Он возвращает 500 Внутренняя ошибка сервера , ровно через 120 секунд.

Чтобы проверить это, я разместил следующий скрипт на сервере:

<?php
sleep(119);
echo "TEST";
?>

Он вернет TEST браузеру через 119 секунд.

Но когда я размещу ниже сценарий:

<?php
sleep(121);
echo "TEST";
?>

Будет возвращено 500 Внутренняя ошибка сервера через 120 секунд

мы установили Max_execution_time = 360 в php.ini, но проблема все еще существует.

У нас установлен Apache с FastCGI.

Я пытаюсь увеличить его до 360 секунд, используя .htaccess, потому что это единственный способ, который я могу использовать в Shared Hosting.

Любые решения или предложения? Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 02 декабря 2010

Fastcgi это другой зверь; использование set_time_limit не решит проблему. Я не уверен, что вы можете сделать с .htaccess, но нормальная настройка, которую вы ищете, называется IPCCommTimeout; Вы можете попытаться изменить это в .htaccess, я не уверен, разрешено это или нет.

См. Директивы на странице apache fcgid ; если вы используете старую версию, вам может потребоваться вместо этого установить FcgidIOTimeout.

Я бы предположил, что 120 секунд - это слишком долго, чтобы пользователь мог ждать запроса через веб-сервер; если что-то занимает так много времени, попробуйте запустить скрипт из командной строки с помощью PHP CLI.

0 голосов
/ 02 декабря 2010

Попробуйте, надеюсь, это сработает:

set_time_limit(int seconds)
...