2017-02-16 2 views
0

Ich stoße auf diesen wirklich komischen 500 Internal Server Error (Ende der Skriptausgabe vor Kopfzeilen). Es passiert, wenn ich versuche, eine .php-Datei auszuführen, die ziemlich lange dauert. Ich habe Vorkehrungen getroffen, indem ich set_time_limit(120); ini_set('max_execution_time', 120); der Datei hinzufüge. 2 Minuten sollten ausreichen. Ich habe auch header('Content-Type: text/plain'); erklärt.PHP Odd 500 Serverfehler

Jetzt ist das komische Ding - die meiste Zeit wird der Code tatsächlich vollständig ausgeführt, alles bis zum letzten exit(); hat definitiv ausgeführt (ich kann nicht überprüfen, ob dieser letzte Ausgang thoug). Ich bekomme jedoch immer noch einen 500 Internal Server Error (Protokoll sagt End of script output before headers).

Noch seltsamer ist, wenn ich die Datei ein zweites Mal innerhalb von etwa 5-10 Minuten laufen, läuft alles völlig in Ordnung. Und manchmal stoppt der Code nur in der Mitte der Dinge und löst den Fehler aus.

Wenn es darauf ankommt, wenn das Skript in der Mitte stoppt, befindet es sich normalerweise in einer foreach-Schleife, während es Elemente aus einer XML-Datei liest und sie in eine CSV-Datei schreibt. Es ist immer wenn eine Schleife fertig ist.

Ich habe wirklich keine Ahnung, warum das passiert.

Jede Hilfe wäre willkommen.

Vielen Dank,
fraeckey

+0

Ohne eigentlichen Code ist es ziemlich schwer zu sagen, dass es schief gelaufen sein könnte. Sie müssen zuerst Ihr eigenes Debugging durchführen und das Problem auf bestimmte Abschnitte des Codes eingrenzen und diese Abschnitte dann mit uns teilen. – Shadow

Antwort

0

Sie sind mehr als wahrscheinlich in Probleme mit Ihrem Webserver ausgeführt wird. Wenn es Apache ist, dann gibt es die Timeout Directive. Möglicherweise treten auch Speicherprobleme auf, die wiederum Einstellungen in php.ini und apache enthalten. Aber ohne etwas mehr Details. Ich fürchte, das ist so viel wie ich anbieten kann.

-1

Wenn Sie Wordpress verwenden, wahrscheinlich einige Syntaxfehler. Führen Sie den Code im Entwicklungsmodus aus. Sie werden einen Fehler sehen. Sonst wird weiterhin 500 Fehler angezeigt.