Wenn Ihre Website nach der Aktualisierung eines Plugins einen 500-Fehler anzeigt oder die Meldung „Auf unserer Website ist ein schwerwiegender Fehler aufgetreten.“ erscheint, liegt dies fast immer daran, dass der neue Plugin-Code mit etwas nicht kompatibel ist: mit der PHP-Version, einem anderen Plugin oder der WordPress-Version. Durch das Update werden die neuen Dateien überschrieben, das Plugin bleibt aktiv, und WordPress versucht bei jeder Anfrage, es zu laden, weshalb auch der Admin-Bereich ausfallen kann.
Die Vorgehensweise: Stellen Sie zunächst die Website wieder her und ermitteln Sie anschließend die Ursache des Problems. Über weitere Ursachen für den 500er-Fehler (.htaccess, Berechtigungen, PHP-Einstellungen) berichten wir in unserem Blogbeitrag. Wir haben die Schritte anhand einer absichtlich fehlerhaft gestalteten PHP-Erweiterung auf einer Test-Website mit cPanel-Hosting erprobt.
1. Sehen Sie sich das Fehlerprotokoll an
Auf den cPanel-Servern von aWh schreibt PHP Fehler in die Datei „logs/php.error.log“ im Home-Verzeichnis, und im Stammverzeichnis der Website kann zudem eine „error_log“-Datei erstellt werden. Die Zeile mit dem schwerwiegenden Fehler nennt den Dateinamen und damit auch die PHP-Erweiterung:
PHP Fatal error: Uncaught Error: Call to undefined function kb_nem_letezo_fuggveny() in /home/felhasznalonev/public_html/wp-content/plugins/pelda-bovitmeny/pelda-bovitmeny.php:6
Im Terminal oder über SSH:
grep -i "fatal" ~/logs/php.error.log | tail -n 5
ls -lt ~/public_html/wp-content/plugins/ | head -5
Der zweite Befehl listet die zuletzt geänderten Plugin-Ordner auf: Das kürzlich aktualisierte Plugin ist der erste Verdächtige. Ohne SSH können Sie das Protokoll über den cPanel-Dateimanager öffnen (der Ordner „logs“ befindet sich im Home-Verzeichnis).
WordPress versendet im Falle eines „schwerwiegenden Fehlers“ zudem eine E-Mail an die Admin-Adresse, die einen Wiederherstellungslink enthält, über den Sie ohne das fehlerhafte Plugin auf das Admin-Dashboard zugreifen können. Darüber berichtet dieser Artikel zum Thema „weißer Bildschirm“.
2. Deaktivieren Sie das Plugin
Mit WP-CLI (empfohlen)
WP-CLI führt den WordPress-eigenen Beendigungsprozess aus, genau wie das Admin-Panel. Tritt der Fehler bereits beim Laden des Plugins auf, bleibt auch WP-CLI hängen (der Befehl „wp plugin list“ gibt denselben schwerwiegenden Fehler aus). In diesem Fall lassen Sie das fehlerhafte Plugin mit dem Schalter „--skip-plugins“ beim Laden aus:
cd ~/public_html
wp plugin deactivate pelda-bovitmeny --skip-plugins=pelda-bovitmeny
Die Antwort: Plugin 'pelda-bovitmeny' deactivated. Den Namen des Plugins (bzw. den Namen seines Ordners) können Sie der Fehlermeldung entnehmen. Bei einer Installation mit mehreren Websites oder bei einem auf Netzwerkebene aktivierten Plugin fügen Sie bitte den Schalter --network hinzu.
WP-CLI ist in den Paketen mit SSH-Zugriff (cP Premium, cP Pro, cP Pro 100) verfügbar; die Grundlagen werden im Artikel zur Verwendung von WP-CLI beschrieben.
Umbenennung eines Ordners (ohne SSH)
Öffnen Sie im cPanel-Dateimanager den Ordner „public_html/wp-content/plugins“ und benennen Sie den Ordner des Plugins um, beispielsweise in „pelda-bovitmeny.hibas“. WordPress kann den Code nicht finden und lädt ihn daher nicht, sodass die Website im Test sofort wieder erreichbar war.
Dies ist der schnellere, aber auch unsauberere Weg: Das Plugin wird von WordPress weiterhin als aktiv angezeigt (die fehlende Datei bleibt in der Einstellung „active_plugins“ erhalten), und die eigenen Deaktivierungsschritte werden nicht ausgeführt, sodass die geplanten Aufgaben und Einstellungen erhalten bleiben. Sobald die Website läuft, öffnen Sie im Admin-Bereich die Seite „Plugins“: WordPress meldet nun, dass das Plugin fehlt, und deaktiviert es.
Falls nach dem Neustart weiterhin Fehler auftreten
Bitte überprüfen Sie, ob noch geplante Aufgaben des Plugins offen sind, da diese im Hintergrund weiterhin den Fehler verursachen können:
wp cron event list | grep -i pelda
3. Kehren Sie zur funktionierenden Version zurück
- WP Toolkit-Wiederherstellungspunkt: Wenn das Update über das WP Toolkit durchgeführt wurde und der Wiederherstellungspunkt aktiviert war, können Sie auf der Seite Ihrer Website mit einem Klick zum vorherigen Zustand zurückkehren.
- Tägliche Sicherung: Über die JetBackup-Oberfläche können Sie auch nur den Ordner des Plugins auf den Stand des Tages vor dem Update zurücksetzen (Wiederherstellung aus einer Sicherung).
- Ältere Version von WordPress.org: Klicken Sie auf der Seite des Plugins auf wordpress.org auf den Link „Advanced View“; am Ende der Seite können Sie ältere Versionen herunterladen. Mit WP-CLI in einem Schritt:
wp plugin install pelda-bovitmeny --version=1.4.2 --force --skip-plugins=pelda-bovitmeny
wp plugin activate pelda-bovitmeny
4. Lesen Sie die Fehlermeldung durch, bevor Sie das Gerät wieder einschalten
Die häufigsten Fälle:
- „
Call to undefined function str_contains()“ oder eine andere, neuere PHP-Funktion: Das Plugin erfordert eine neuere PHP-Version als die, die Ihre Website derzeit verwendet. Wechseln Sie über die Oberfläche „Select PHP Version“ (PHP-Version einstellen) zu einer neueren PHP-Version oder behalten Sie die alte Plugin-Version bei. Überprüfen Sie nach dem PHP-Wechsel die gesamte Website, nicht nur dieses Plugin. Class "…" not found: Dies bezieht sich auf eine Klasse von WordPress – die WordPress-Version ist für das Plugin zu alt. Bitte aktualisieren Sie WordPress.Cannot redeclare function …()– Zwei Plugins verwenden denselben Funktionsnamen. Bitte entfernen Sie eines davon oder melden Sie dies dem Entwickler.- „
Allowed memory size of … bytes exhausted“: Die neue Version benötigt mehr Speicher. In diesem Artikel wird über diese Speicherbeschränkung berichtet.
Sollte das Protokoll leer sein, aktivieren Sie bitte die WordPress-Fehlerprotokollierung (Debug-Modus) und lassen Sie den Fehler erneut auftreten.
5. Das nächste Mal mit geringerem Risiko
- Notieren Sie sich das Plugin und die Version (z. B. „Die PHP-Erweiterung ‚pelda-bovitmeny‘ 1.5.0 erfordert PHP 8.1“), damit Sie dies beim nächsten Mal nicht erneut herausfinden müssen.
- Aktualisieren Sie wichtige Plugins zunächst auf einer Staging-Kopie.
- Aktivieren Sie im WP Toolkit den Wiederherstellungspunkt oder die Funktion „Intelligentes Update“, die das Update zunächst auf einer Kopie testet. Einen Vergleich der Update-Modi finden Sie in einem separaten Artikel.
Sollte Ihre Website ohne Plugin-Update von selbst einen 500er-Fehler ausgeben, finden Sie Hilfe im Artikel zum allgemeinen 500er-Fehler sowie im Artikel zu den CloudLinux-Ressourcenbeschränkungen. Sollten Sie dabei auf Schwierigkeiten stoßen, wenden Sie sich bitte an unseren Support.