Kapitel 14 · 14.6
Fehler nach einem PHP-Upgrade und das Fehlerprotokoll finden
Sie haben die PHP-Version erhöht und jetzt ist Ihre Website weiss, zeigt eine Fehlermeldung, oder ein Teil funktioniert nicht mehr. Das liegt fast immer an einem Plugin, einem Theme oder eigenem Code, der nicht für die neue Version geeignet ist. Keine Panik: Sie setzen die alte Version in einer Minute zurück und finden danach in Ruhe heraus, was nicht stimmt.
Schritt 1: die alte Version zurücksetzen
Gehen Sie zu Select PHP version, wählen Sie wieder die Version, die Sie vorher hatten, und klicken Sie auf Apply (siehe Die PHP-Version auswählen (Select PHP version)). Ihre Website funktioniert dann sofort wieder wie zuvor. Haben Sie bei der neuen Version Erweiterungen oder Optionen angepasst, bleiben diese für einen nächsten Versuch erhalten.
Schritt 2: die Fehlermeldung im Fehlerprotokoll suchen
PHP schreibt Fehler in das Fehlerprotokoll Ihrer Domain. Dort steht genau, welche Datei und welche Zeile das Problem verursacht.
- Klicken Sie in DirectAdmin unter Systeminformationen & Dateien auf Website-Übersicht & Protokolle.
- Klicken Sie bei Ihrer Domain auf Fehler-Protokoll.
- Schauen Sie sich die letzten Zeilen unten an. Suchen Sie nach Zeilen mit PHP Fatal error, PHP Parse error oder PHP Warning (1).

Mehr über die Protokolle lesen Sie in Website-Übersicht und Protokolle: das Fehler-Protokoll und das Zugriffsprotokoll.
Schritt 3: die Meldung verstehen
In der Meldung steht der Pfad der Datei. Daran erkennen Sie meistens, welches Plugin oder welches Theme der Übeltäter ist. Ein paar Beispiele:
| Sie sehen in der Meldung | Bedeutung |
|---|---|
| .../wp-content/plugins/Name-des-Plugins/... | Dieses Plugin funktioniert nicht mit der neuen Version. Aktualisieren Sie es oder suchen Sie einen Ersatz, wenn es nicht mehr gepflegt wird. |
| .../wp-content/themes/Name-des-Themes/... | Ihr Theme ist zu alt. Aktualisieren Sie es oder bitten Sie den Hersteller um ein Update. |
| Call to undefined function mysql_connect() | Sehr alter Code, der noch die Funktionen von vor PHP 7 verwendet. Dieser muss neu geschrieben werden. |
| Call to undefined function mit einem anderen Funktionsnamen | Oft fehlt eine Erweiterung. Prüfen Sie, welche Erweiterung zu dieser Funktion gehört, und aktivieren Sie sie (siehe PHP-Erweiterungen aktivieren und deaktivieren). |
| Allowed memory size of ... bytes exhausted | Das Skript hat zu wenig Arbeitsspeicher. Erhöhen Sie memory_limit (siehe PHP-Optionen: upload_max_filesize, memory_limit und max_execution_time). |
| Maximum execution time of ... seconds exceeded | Das Skript hat zu lange gebraucht. Erhöhen Sie max_execution_time oder finden Sie heraus, warum es so langsam ist. |
Schritt 4: aktualisieren und erneut versuchen
- Erstellen Sie ein Backup (siehe Sichern und Wiederherstellen: selbst ein Backup erstellen in DirectAdmin).
- Aktualisieren Sie WordPress (oder Ihre andere Software), Ihr Theme und alle Plugins, während die alte PHP-Version noch aktiv ist.
- Entfernen Sie Plugins, die Sie nicht verwenden.
- Aktivieren Sie die neue PHP-Version wieder und testen Sie Ihre Website erneut. Schauen Sie auch wieder ins Fehlerprotokoll.
Tipp: Möchten Sie erst testen, ohne dass Besucher davon betroffen sind? Erstellen Sie mit Installatron eine Kopie Ihrer Website auf einer Subdomain (siehe Klonen und eine Testumgebung (Staging) erstellen) und stellen Sie nur dieses Verzeichnis mit .htaccess auf die neue Version um (siehe PHP-Einstellungen pro Verzeichnis und über .htaccess).
Fehler vorübergehend auf der Seite anzeigen
Sehen Sie nur einen weissen Bildschirm und steht nichts Brauchbares im Fehlerprotokoll? Dann können Sie Fehler vorübergehend direkt auf der Seite anzeigen lassen. Aktivieren Sie in Select PHP version auf der Registerkarte Options das Häkchen bei display_errors. Öffnen Sie die Seite erneut: Jetzt sehen Sie die Fehlermeldung. Deaktivieren Sie display_errors danach sofort wieder, denn eine solche Meldung kann Informationen über Ihre Website für jedermann sichtbar machen.
Verwenden Sie WordPress, geht es auch mit diesen Zeilen in wp-config.php, oberhalb der Zeile That's all, stop editing!: define('WP_DEBUG', true); und define('WP_DEBUG_LOG', true);. WordPress schreibt die Fehler dann in wp-content/debug.log. Entfernen Sie diese Zeilen anschliessend wieder oder setzen Sie sie auf false.
Lieber lösen lassen?
Klappt es nicht, oder wurde Ihre Website schon seit Jahren nicht mehr aktualisiert? Mit dem PHP-Upgrade machen wir Ihre Website fit für eine aktuelle PHP-Version, zu einem Festpreis. Klappt es nicht, erhalten Sie Ihr Geld zurück.
