WordPress erzeugt Internal Server Error (500)
Ruft ein Benutzer eine Internetseite auf, meldet der Server im Idealfall den HTTP-Statuscode 200 zurück und schickt auch direkt die gewünschte Webseite mit. Der Statuscode 200 steht für eine erfolgreiche Anfrage und signalisiert, dass alles gut verlaufen ist. Manchmal jedoch steckt der Wurm drin und entweder eine bestimmte Unterseite oder vielleicht sogar die komplette Webpräsenz erzeugt beim Aufruf eine Fehlermeldung. In Google Chrome lautet diese etwa wie folgt:
Diese Seite funktioniert nicht
Domain kann diese Anfrage momentan nicht verarbeiten.
HTTP Error 500
Ein Internal Server Error mit dem Fehlercode 500 kann leider eine Vielzahl von Gründe haben, von einem einfach nur falsch konfigurierten CMS bis hin zu einem versuchten Hacking-Angriff ist hier eigentlich alles möglich.
In diesem Fall geht es um einen von mir betreuten Kunden, der eine neue WordPress Installation auf seinem Server hochfahren wollte. Der Kunde ist durchaus IT-affin – erstellt und betreut selber einige WordPress-Instanzen – kam jedoch hier nicht mehr weiter. Egal ob er ein Backup einer bereits laufenden anderen Instanz einspielte, oder aber eine frisch heruntergeladene und aktuelle WordPress Version – jedes Mal stellte sich das gleiche Fehlerbild dar.
Um im ersten Schritt erst einmal zu verstehen was überhaupt passiert, ist meine erste Tat meist WP_DEBUG() sowie WP_DEBUG_LOG() zu aktivieren, um hier bereits Einblicke zu erhalten. Doch entgegen meiner Erwartung war hier nichts eindeutiges zu erkennen, was auf den möglichen Fehler hindeuten könnte. Erst ein Blick in das Server Log brachte mich auf die richtige Spur.
Aufgrund einiger Legacy-Projekte muss der Kunde auf einigen Umgebungen auch noch sehr alte PHP Versionen zwischen 5.2 und 5.6 einsetzen und somit auch auf seinem Server aktiv halten. Auf jeden Fall etwas, dem man nicht nacheifern sollte, da man sich somit Sicherheitsrisiken en masse direkt frei Haus einlädt.
Nun wurde aus unerfindlichen Gründen beim Anlegen seines neuesten Projekts in der Serverumgebung PHP 5.5 zugewiesen, welches seit 2016 nicht mehr aktualisiert und seit mindestens zwei Jahren auch nicht mehr von WordPress unterstützt wird. Offensichtlich funktioniert spätestens ab Version 5.6.2 (wahrscheinlich aber auch schon viel früher) WordPress nun nicht mehr mit dieser derart alten PHP Version. Als wir die PHP Version der Seite dann auf 7.4 umstellten, funktionierte die WordPress-Instanz nun wie erwartet.
Haben Sie also mit einem Internal Server Error und Fehlercodes rund um 500 zu kämpfen, sollten Sie definitiv auch mal ein Augenmerk darauf haben, ob vielleicht eine alte PHP Version genutzt wird.