22 Stimmen

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

Ich habe ein einfaches Crawling-Skript (in php) auf localhost geschrieben (mit 4 Variationen). Alle funktionierten gut auf localhost. Aber als ich sie auf Shared Hosting verschoben habe, funktionierten zwei von ihnen und andere gaben einen internen Serverfehler. Ich habe mir das error_log angesehen und diese Zeilen 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 habe gesucht, konnte aber kein brauchbares Ergebnis finden. Was ist mit diesen Fehlern verbunden? Irgendwelche Ideen?

45voto

trante Punkte 32326

Wenn Sie auf den Linux-Server zugreifen können, bearbeiten Sie bitte /etc/httpd/conf.d/fcgid.conf Datei mit vim.
Ändern Sie FcgidIOTimeout 45 zu FcgidIOTimeout 600 .
Starten Sie Apache neu.
Dann wird Fast CGI Timeout gelöst.

2voto

user1193694 Punkte 113

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

2voto

Ergec Punkte 11241

Wenn Sie virtuelle Hosts verwenden (in meinem Fall habe ich ispconfig), müssen Sie Änderungen in den Konfigurationsdateien der virtuellen Hosts vornehmen. Diese Dateien befinden sich unter /etc/httpd/conf/sites-available für jeden virtuellen Host. Bearbeiten Sie einfach die gewünschte Konfigurationsdatei, suchen Sie IPCCommTimeout und setzen Sie den aktuellen Wert auf eine höhere Zahl. Möglicherweise müssen Sie diese Änderung für beide Variablen in derselben Konfigurationsdatei vornehmen, wenn Sie normale und SSL-Sites haben.

0voto

Jason McCreary Punkte 69116

Zeitüberschreitung beim Lesen von Daten in 61 Sekunden

Die Zeit ist abgelaufen. Wahrscheinlich ist Ihre Ausführungszeit auf 60 Sekunden eingestellt. Bei 61 Sekunden wurde der Prozess also beendet und hatte somit eine vorzeitiges Ende .

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

0voto

datasage Punkte 18835

Im Wesentlichen laufen Ihre Skripte zu lange für die Serverkonfiguration. mod_fcgid wartet darauf, dass php antwortet, und ist so eingestellt, dass es nach 61 Sekunden aufgibt. Da es sich um ein Shared Hosting handelt, dürfen Sie dies möglicherweise nicht ändern.

Dies ist nicht etwas, das über einen Browser/Webserver ausgeführt werden sollte. Schreiben Sie es als Konsolenskript.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X