webentwicklung-frage-antwort-db.com.de

Vorzeitiges Ende der Skript-Header: index.php, mod_fcgid: Daten-Timeout in 61 Sekunden

Ich habe ein einfaches Crawling-Skript (in PHP) bei Localhost (mit 4 Variationen) geschrieben. Alle haben bei localhost gut funktioniert. Aber als ich sie auf Shared Hosting umstellte, gaben zwei von ihnen Arbeit, andere gaben interne Serverfehler. Ich habe mir error_log angesehen und diese Zeile gesehen:

[Wed Jan 23 22:01:02 2013] [warn] [client ***] mod_fcgid: read data timeout in 61 seconds
[Wed Jan 23 22:01:02 2013] [error] [client ***] Premature end of script headers: index.php

Ich suchte, aber ich konnte kein nützliches Ergebnis finden. Was ist mit diesen Fehlern verbunden? Irgendwelche Ideen?

17
Bilal Gultekin

Wenn Sie auf den Linux-Server zugreifen können, bearbeiten Sie die /etc/httpd/conf.d/fcgid.conf-Datei mit vim.
Ändern Sie FcgidIOTimeout 45 in FcgidIOTimeout 600.
Starten Sie Apache neu.
Dann wird die Fast CGI-Zeitüberschreitung behoben.

30
trante

Wenn Sie virtuelle Hosts verwenden (in meinem Fall ispconfig), müssen Sie Änderungen an den Konfigurationsdateien für virtuelle Hosts vornehmen. Diese Dateien befinden sich für jeden virtuellen Host unter /etc/httpd/conf/sites-available. Bearbeiten Sie einfach die gewünschte Konfigurationsdatei, suchen Sie nach IPCCommTimeout und setzen Sie den aktuellen Wert auf einen höheren Wert. Möglicherweise müssen Sie diese Änderung für beide Variablen in derselben Konfigurationsdatei vornehmen, wenn Sie über regelmäßige und SSL-Sites verfügen.

2
Ergec

Ich hatte dieses Problem in einer MediaTemple-Grid-Instanz mit einer Drupal7-Installation. stellt sich heraus, dass es von FastCGI verursacht wurde; Das Umschalten auf normale/stabile CGI scheint das Problem behoben zu haben.

2
user1193694

daten-Timeout in 61 Sekunden lesen

Sie sind abgelaufen. Es ist wahrscheinlich, dass Ihre Ausführungszeit auf 60 Sekunden eingestellt ist. Nach 61 Sekunden wurde der Prozess beendet und hatte daher ein vorzeitiges Ende.

Sie können Ihr Timeout anpassen (nicht empfohlen) oder das Skript über eine andere Quelle ausführen (empfohlen).

0
Jason McCreary

mod_cfgid führt bei der Ausführung von PHP-Skripten neben dem max_execution_time von PHP weitere Zeitlimits ein. Was zuerst kommt, "gewinnt".

Soweit ich sehen kann, gibt es zahlreiche Zeitbegrenzungskonfigurationselemente, die von mod_cfgid berücksichtigt werden, und ich bin nicht der Experte, der sagt, wer was tut, aber in unserem Fall fügt er die folgende Zeile hinzu

IPCCommTimeout  9999

in fcgid.conf wurden unsere unerwarteten Timeout-Probleme behoben.

0
Şafak Gezer

Ihre Skripts laufen im Wesentlichen zu lang für die Serverkonfiguration. mod_fcgid wartet darauf, dass php antwortet, und sein Satz gibt nach 61 Sekunden auf. Seit diesem Shared Hosting dürfen Sie es möglicherweise nicht ändern.

Dies sollte sowieso nicht über den Browser/Webserver laufen. Schreiben Sie es als Konsolenskript.

0
datasage

Wenn ein Problem mit mod_fcgid wie folgt auftritt: _ mod_fcgid: Daten-Timeout in XX Sekunden lesen _ mod_fcgid: Prozessplatz kann nicht angewendet werden

Bitte beheben Sie diese Probleme mit Priorität:

_Increasing the memory limit of php (default 128M, up to 256, 384, ... then restart Apache anh check it again)
_Increasing the time out of FCGI, but not need if above is ok
0
tquang