Apache 2.4 stürzt ab, nachdem auf PHP7.3 umgestellt wurde
Hallo Community!
Ich hoffe, dass ihr mir bei meinem Problem helfen könnt.
Bei uns im Unternehmen läuft ein Apache 2.4 (x86) Server mit PHP 5.6 aktuell auf einem Windows Server 2012 R2 x64.
Ich habe heute Vormittag PHP auf 7.3 TS-x86 aktualisieren wollen.
Als ich von der Mittagspause zurück kam, war die Website nicht mehr erreichbar.
Der error.log des Apaches gibt aus, dass:
Hat jmd eine Idee, wo ich anfangen sollte nachzuschauen, an was es liegt?
PHP hat 1GB memory_limit.
Ich hoffe, dass ihr mir bei meinem Problem helfen könnt.
Bei uns im Unternehmen läuft ein Apache 2.4 (x86) Server mit PHP 5.6 aktuell auf einem Windows Server 2012 R2 x64.
Ich habe heute Vormittag PHP auf 7.3 TS-x86 aktualisieren wollen.
Als ich von der Mittagspause zurück kam, war die Website nicht mehr erreichbar.
Der error.log des Apaches gibt aus, dass:
[Tue Nov 12 11:32:34.047764 2019] [mpm_winnt:notice] [pid 1184:tid 448] AH00418: Parent: Created child process 1428
[Tue Nov 12 11:32:34.657185 2019] [mpm_winnt:notice] [pid 1428:tid 504] AH00354: Child: Starting 3000 worker threads.
VirtualAlloc() failed: [0x00000008] Für diesen Befehl ist nicht genügend Speicher verfügbar.
VirtualFree() failed: [0x000001e7] Es wurde versucht, auf eine unzul䳳ige Adresse zuzugreifen.
VirtualAlloc() failed: [0x00000008] Für diesen Befehl ist nicht genügend Speicher verfügbar.
VirtualFree() failed: [0x000001e7] Es wurde versucht, auf eine unzul䳳ige Adresse zuzugreifen.
Hat jmd eine Idee, wo ich anfangen sollte nachzuschauen, an was es liegt?
PHP hat 1GB memory_limit.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 514177
Url: https://administrator.de/contentid/514177
Ausgedruckt am: 25.11.2024 um 19:11 Uhr
10 Kommentare
Neuester Kommentar
Hallo,
also das Problem mit dem memory limit kannst du umgehen in dem auf 64bit umstellst.
Versuch doch mal dein memory limit runterzusetzen, auf die o.g. 128M
Denn ich glaube, dass dir der Apache absackt da er für jeden child versucht den 1G zu reservieren
Standartmäßig startet der Apache so 5-10 childThreads, dann wirds mit der "magischen 4GB" Grenze für einen 32bit Prozess gleich mal finster.
Also meine Empfehlung: Apache u. PHP auf x64 hochziehen, wir sind ja nicht mehr in der Steinzeit.
also das Problem mit dem memory limit kannst du umgehen in dem auf 64bit umstellst.
Versuch doch mal dein memory limit runterzusetzen, auf die o.g. 128M
Denn ich glaube, dass dir der Apache absackt da er für jeden child versucht den 1G zu reservieren
Standartmäßig startet der Apache so 5-10 childThreads, dann wirds mit der "magischen 4GB" Grenze für einen 32bit Prozess gleich mal finster.
Also meine Empfehlung: Apache u. PHP auf x64 hochziehen, wir sind ja nicht mehr in der Steinzeit.
Hm das ist mir wohl nicht aufgefallen. hier erklärt es sich dann recht schnell.
<IfModule mpm_winnt_module>
ThreadsPerChild 1000
MaxRequestsPerChild 0
</IfModule>
Ich würd da mal mit den Werten auf was Vernünftiges gehen, wenns denn immer noch 32bit sein muss
ThreadsPerChild ist normal 25
ThreadLimit sollte 64 sein
Wenn deine Seite langsam wird dadurch dann gibt es hier eine schöne Lektüre
Optimizing Apache
ThreadLimit sollte 64 sein
Wenn deine Seite langsam wird dadurch dann gibt es hier eine schöne Lektüre
Optimizing Apache