Huhu, seit Monaten kämpfe ich mit sporadischen Abstürzen des Webservers.
Hierbei startet er unheimlich viele PHP-Prozesse - einen nach dem anderen - bis er an sein Limit stößt und dann entsprechend keine weiteren mehr zulässt. Die Seite ist für diesen Moment nicht mehr erreichbar. Kurz drauf besinnt sich der Apache wieder und schließt die "unnötigen" Prozesse, wodurch alles wieder geht.
Beim ersten und zweiten Mal blieb der Server komplett "dead" - zu der Zeit setzte ich noch mod_php ein. Dann hatte ich jedoch alles umgestellt und nun laufen die einzelnen Seiten mit mod_fcgi was dazu führt, dass nur noch eine Seite allein immer ausfällt und vor allem alles von allein sich wieder fängt.
Nach nunmehr unzähligen Stunden, Tagen, Wochen ... habe ich des Rätsels Lösung gefunden:
Im vHost steht eine Domain, welche aus der Zeit der Entwicklung stammt ... es handelte sich also um eine interne Domain um das Projekt auch ohne der künftig resultieren echten Live-Domain testen zu können. Als die Seite online ging, hat man Typo3 natürlich die neue Domain beigebracht und offenbar im vHost vergessen, die Test-Domain zu entfernen oder auszukommentieren. Eigentlich aus meiner Sicht auch absolut kein Problem und daher kam auch niemand drauf, dies zu prüfen.
Ruft man nun jedoch diese Test-Domain auf, wird also in das DocumentRoot vom Typo3 geschickt, passiert genau der oben beschriebene Absturz. Entfernt man die Domain aus dem vHost, wird sie natürlich nicht mehr an das Typo3 gereicht und somit bleibt das Problem aus.
Das allein wäre natürlich auch erstmal kein großes Problem, wenn nicht tatsächlich ein Redakteur innerhalb des Typo3 auf diese Test-Domain verlinkt hätte und somit immerwieder mal wer auf diese Domain "geschickt" würde und somit den Server abschießt.
Nun die Frage:
Ist euch dieses Phänomen bekannt, dass der Server unendlich PHP-Prozesse feuert, wenn man eine Domain aufruft, welche ein vHost einem Typo3 zuordnet, während Typo3 diese Domain jedoch nicht kennt?
Das kann doch kein ernsthaftes Problem sein!?
Das Problem trat in allen 6.x.x-Versionen auf.
viele Grüße
Chris 🙂