Войти

Показать полную графическую версию : Неустраняемая ошибка mod_fcgid (Apache) - таймаут скрипта


ANR
31-03-2011, 13:19
Добрый день.

Помогите, пожалуйста, с проблемой, с которой не можем разобраться вот уже не первый день.

Дело в том, что есть скрипт PHP, который выполняет достаточно большие расчеты и не успевает справиться по времени в 30 секунд. Во всех возможных местах (max_execution_time и пр.), кроме одной загвоздки. Она пишется на сервере в лог:

Premature end of script headers: admin.php, referer: /admin.php [Thu Mar 31 00:12:16 2011] [warn] mod_fcgid: read data timeout in 31 seconds
Поискав в интернете нашел, что этот таймаут можно отрегулировать в настройках httpd.conf путем

<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
IPCCommTimeout 40
IPCConnectTimeout 10
DefaultMaxClassProcessCount 2
DefaultMinClassProcessCount 1
MaxProcessCount 100
</IfModule>

Но увы, применение выделенных выше настроек не помогает. В чем тогда еще может быть проблема?

Конфигурация сервера:
OS: Debian Linux 5
Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1
PHP 5.2.6

Буду благодарен советам.

dmitryst
31-03-2011, 14:23
Premature end of script headers: admin.php, referer: /admin.php [Thu Mar 31 00:12:16 2011] [warn] mod_fcgid: read data timeout in 31 seconds »
пусть скрипт в самом начале работы хидеры выдает.

есть скрипт PHP, который выполняет достаточно большие расчеты и не успевает справиться по времени в 30 секунд. »
попробуйте разделить задачу.

mar
31-03-2011, 15:02
Цитата ANR:
есть скрипт PHP, который выполняет достаточно большие расчеты и не успевает справиться по времени в 30 секунд. »
попробуйте разделить задачу. »

Совершенно согласна. Вряд ли Вам нужны расчеты в режиме реального времени? А если не нужны, нужно разделить задачу, максимум выкинуть в скрипт, который работал бы по крону, так, чтобы на web-часть оставался бы самый минимум

Sham
31-03-2011, 15:34
пусть отсылает Content-Length и Connection: Close. Главное, чтобы сервер потом не рубил php-процесс.

Вообще, такая реализация довольно распространена (у вбулетин задачи по псевдо-картинке запускаются).




© OSzone.net 2001-2012