Ladeprobleme mit Apache und PHP unter Windows – Die Verbindung zum Server wurde zurückgesetzt
Nachdem ich mich dazu entschieden habe auf meiner Workstation das Entwicklungspaket XAMPP gegen eine pure Apache- und PHP5-Installation zu tauschen, bin ich bei aufwendigeren PHP Seiten (vorwiegend mit Regular Expressions) immer wieder auf Ladeprobleme gestoßen. Dabei habe ich im Browser die Meldung bekommen, dass die Verbindung vom Server zurückgesetzt wurde. Weder in den PHP- noch in den Apache-Logdateien fand sich jedoch ein brauchbarer Hinweis auf einen Fehler im PHP-Code.
Schließlich habe ich im Apache-Log den folgenden Hinweis gefunden, der darauf hindeutet, dass hier der Apache Prozess immer wieder abstürzt.
Parent: child process exited with status 255 -- Restarting.
Die Ursache des Problems liegt in der geringen Größe des Standardwertes der ThreadStackSize von Apache unter Windows. Im Gegensatz zu Unix-Umgebungen (8MB) beträgt der Standardwert unter Windows 1MB und ist somit, in meinem Fall, für aufwendige Regular Expressions zu gering. Das folgenden Konfigurations-Schnipsel für die Apache-Konfiguration httpd.conf setzt den Wert wie unter Unix auf 8MB.
<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>