Ich habe Apache2 mit PHP + PHP-FPM konfiguriert gemäß:
http://wiki.apache.org/httpd/PHP-FPM
Ich schreibe ein Skript, dessen Ausführung auf einem internen Vhost viel Zeit in Anspruch nimmt, aber es läuft immer wieder aus, wenn das Skript in weniger als 30 Sekunden ausgeführt wird, läuft alles einwandfrei.
Mein Apache-Log sagt mir:
[Wed Apr 17 21:57:23.075175 2013] [proxy_fcgi:error] [pid 9263:tid 140530454267648] (70007)The timeout specified has expired: [client 58.169.202.172:49017] AH01075: Error dispatching request to :, referer:
Beim Versuch, das Skript auszuführen, erhalte ich eine 503 Service Unavailable
Ausführungszeit von genau 30 Sekunden. Logischerweise würde dies bedeuten, dass ich eine Timeout-Anweisung oder -Einstellung auf 30 Sekunden gesetzt habe, aber ich habe diese in der Konfiguration meines Vhost:
Timeout 600
<IfModule proxy_module>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9001/home/pyrokinetiq/scripts/$1 timeout=600
ProxyTimeout 600
</IfModule>
(php-fpm läuft für mich auf Port 9001)
Ich habe auch versucht, die Timeout
und ProxyTimeout
in zu platzierenhttpd.conf
ohne Unterschied zu setzen.
Anscheinend gibt es irgendwo eine andere Timeout-Einstellung, die spezifisch ist mod_proxy_fcgi
, aber ich kann sie nicht finden. Ich habe den Apache2 httpd vom offiziellen Tarball installiert, keiner der Mods scheint mit irgendwelchen Konfigurationsdateien geliefert worden zu sein.
Wenn jemand mich in die richtige Richtung lenken kann, wäre er sehr dankbar.