Ich habe ein PHP-Skript, das jedes Mal an der gleichen Stelle anhält und mein Browser meldet:
Die Verbindung zum Server wurde zurückgesetzt während die Seite geladen wurde.
Ich habe dies auf Firefox und IE getestet, das Gleiche passiert. Also, ich vermute, das ist ein Apache / PHP-Konfigurationsproblem. Hier sind einige Dinge, die ich eingestellt habe.
PHP.ini
%Vor%Apache (httpd.conf)
%Vor%Sind die obigen Angaben korrekt? Was kann das verursachen und was kann ich einstellen?
Ich betreibe PHP (5.2.12.12) als Modul auf Apache (2.2) auf einem Windows Server 2003.
Es ist sehr wahrscheinlich, dass dies ein Apache- oder PHP-Problem ist, da alle Browser dasselbe tun. Ich denke, das Skript läuft für genau 10 Minuten (600 Sekunden).
Ich hatte dieses Problem auch heute, es stellte sich heraus, dass es sich um eine stray break;
-Anweisung im PHP-Code (außerhalb eines beliebigen Schalters oder einer Schleife) in einer Funktion mit einem try...catch...finally
-Block handelte.
Sieht aus wie PHP in dieser Situation abstürzt:
%Vor%Das war mit PHP Version 5.5.5.
Die Unterschiede zwischen zwei PHP-Konfigurationen waren tatsächlich die Ursache des Problems an meinem Ende. Meine App basiert auf der NuSOAP-Bibliothek.
Auf Config 1 mit PHP 5.2 lief es gut, da die PHP-SOAP-Erweiterung ausgeschaltet war.
Auf Config 2 mit PHP 5.3 gab es "Connection Reset" -Fehler, da die PHP-SOAP-Erweiterung aktiviert war.
Wenn die Erweiterung ausgeschaltet ist, kann meine App auf PHP 5.3 laufen, ohne dass alles neu geschrieben werden muss.
Ich hatte ein Problem, wo in bestimmten Fällen PHP 5.4 + eAccelerator = Verbindung zurückgesetzt wurde. In den Protokolldateien wurde kein Fehler ausgegeben, und dies geschah nur bei bestimmten URLs, was die Diagnose schwierig machte. Es stellte sich heraus, dass es nur für bestimmte PHP-Code / bestimmte PHP-Dateien passiert ist, und war aufgrund einiger Inkompatibilitäten mit bestimmten PHP-Code und eAccelerator. Die einfachste Lösung bestand darin, eAccelerator für diese bestimmte Site zu deaktivieren, indem Sie der .htaccess-Datei
Folgendes hinzufügenphp_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
(oder äquivalente Zeilen in php.ini):
eaccelerator.enable="0"
eaccelerator.optimizer="0"
Es ist ein alter Post, ich weiß, aber da ich nirgends die Lösung für mein Problem finden konnte und ich es behoben habe, werde ich meine Erfahrung teilen.
Die Hauptursache für mein Problem war ein Funktionsaufruf file_exists () .
Die Datei existierte tatsächlich, aber aus irgendeinem Grund scheint ein zusätzlicher Schrägstrich in der Dateiposition ("//"), der normalerweise in einem normalen Browser funktioniert, in PHP nicht zu funktionieren. Vielleicht hängt dein Problem mit etwas ähnlichem zusammen. Hoffe das hilft jemandem!
Mein PHP war Segfaulting ohne zusätzliche Informationen über die Ursache. Es stellte sich heraus, dass es zwei Klassen waren, die die magische __call () -Methode des jeweils anderen verwendeten, weil beide Methoden nicht aufgerufen wurden. PHP führt nur eine Schleife durch, bis es keinen Speicher mehr hat. Es wurde jedoch nicht die übliche Meldung "Erlaubte Speichergröße von Bytes erschöpft" gemeldet, wahrscheinlich weil die Methoden "magisch" sind.
Tags und Links php apache connection httpd.conf