PHP-Skript beendet wird willkürlich mit keine Fehler

Ich habe ein PHP-Skript, das schien beendet, nach etwa 20 Minuten.

Versuchen, herauszufinden, warum ich ein sehr einfaches Skript, um zu sehen, wie lange es laufen würde, ohne komplexen code zu verwirren mich.

Fand ich, dass die gleiche Sache geschehen war, mit diesem einfachen Endlosschleife. Irgendwann zwischen 15 und 25 Minuten laufen, hält es ohne jede Meldung oder Fehlermeldung. Der browser sagt "Fertig".

Ich habe über jeden einzelnen möglich, was ich denken konnte:

set_time_limit ( session.gc_maxlifetime in the php.ini)
memory_limit
max_execution_time

Dem Punkt, dass das Skript beendet wird, ist nicht konsistent. Manchmal ist es halt bei 15 Minuten, manchmal 22 Minuten.

Bitte, jede Hilfe wäre sehr geschätzt werden.

Es ist gehostet auf einem 1and1 server. Ich kontaktierte Sie, und Sie bieten keinen support für Fehler verursacht durch den Entwickler.

  • Sie können möglicherweise erzeugen Sie einen separaten Prozess mit exec(). Versuchen zu halten, ein script läuft über 30 Minuten mit dem direkten Aufruf durch den browser ist der Wahnsinn.
  • Hast du Zugriff auf die error und access logs vom server? Sie sind wahrscheinlich, um Ihnen mehr Informationen über das, was passiert in diesem Fall. Auch können Sie das problem reproduzieren lokal? Das könnte Ihnen einige weitere Optionen, soweit das debugging geht.
  • Nee, ich habe keinen Zugriff auf die logs. Das ist eine Sache, die wirklich macht mich verrückt. Ich machte eine benutzerdefinierte PHP-error-log csv-Datei, aber keine nützliche PHP-Fehler :-/ ich habe es noch nicht getestet lokal, da es so lange braucht, um das herauszufinden. Ich denke, wenn es nicht richtig läuft, dann ist es eine obskure Einstellung server ich habe keine Ahnung, oder wenn es beendet ist, dann ist es eine obskure browser-problem, das ich keine Ahnung habe. Entweder Weg, es hilft nicht viel. Ich werde versuchen James ' Rat oben, obwohl, das scheint sinnvoll. Andere Ideen, obwohl in der Zwischenzeit?
  • Naja, es läuft lokal würde Ihnen erlauben, zu prüfen, die server-logs. Tritt es nur in einem bestimmten browser? Ich besorge, es nicht, und ich habe das Gefühl, Ihr Problem in Zusammenhang mit der Speichernutzung oder vielleicht verursachen PHP segmentation Fault (die Sie sollten in der Lage sein, um zu sehen, in den server-logs)
  • Was Sie tun können, ist geben Sie in Ihrem Skript machen ini_set: 1) log_errors auf on 2) error_log Sie können zu einer Datei, die dir, wie error_log = ./php.Protokoll führen Sie Dann das Skript, dann pull-up-FTP (die im vorausgesetzt, Sie haben) und die Datei Auschecken.
InformationsquelleAutor RobHardgood | 2010-01-18
Schreibe einen Kommentar