Если в логах сайта возникает ошибка mod_fcgid: read data timeout in 40 seconds, то это значит что апач через mod_fcgid передал некие данные php-скрипту на обработку, подождал 40 секунд и не получив ответа в этот срок возвратил ошибку (для посетителя она выглядит как 504).
Способы решения проблемы:
Способ первый — уменьшить время работы проблемного скрипта.
Часто проблемы такого рода возникают со скриптами обрабатывающими большое количество данных. В этом случае разбиение задачи на более мелкие части решает вопрос.
Ещё такая же ошибка может наблюдаться и в ситуации когда в процессе выполнения скрипта происходит обращение к какому-то внешнему ресурсу (например, к удалённому серверу), который на данный момент недоступен или просто «тормозит» не успевая дать ответ вовремя или не давая его вовсе. В этом случае нужно или восстановить доступность/быструю работу удалённого сервиса, или перейти к второму способу.
Способ второй — увеличить время ожидания mod_fcgid. Для этого откройте файл
- в CentOS /etc/httpd/conf.d/fcgid.conf
- в Debian/Ubuntu /etc/apache2/mods-available/fcgid.conf
И отредактируйте (если нету, то добавьте) строку:
IPCCommTimeout 300
, где вместо 300 — нужно подставить подходящее время ожидания. Слишком большое ставить не нужно.
сссыпасиба!
Второй способ помог на CentOS. Спасибо автору!
Спасибо огромное!!!!