Wissensdatenbank (FAQ)

Plugin Update verursacht einen fatalen Fehler und das Plugin wird deaktiviert

Du hast eines unserer Plugins geupdated bzw. es wurde automatisch updated und plötzlich wurde das Plugin aufgrund eines fatalen Fehlers deaktiviert und lässt sich ggf. nicht mehr aktivieren? Dies ist ein Fehler in WordPress Core und in diesem Artikel erklären wir dir, wieso dies passiert und wie du es wahrscheinlich lösen kannst.

Problem identifizieren

Meistens erhältst du nach einem fehlerhaften Update direkt eine E-Mail von deiner WordPress Instanz, welche dich darauf hinweist, dass ein Plugin aufgrund eines fatalen Fehlers deaktiviert wurde. Folgende Fehlermeldung könntest du dabei vorfinden:

Warning: require_once(/wp-content/plugins/real-cookie-banner-pro/inc/base/others/start.php):
Failed to open stream: No such file or directory in /wp-content/plugins/real-cookie-banner-pro/index.php on line 48
Warning: include(..\wp-content\plugins\real-thumbnail-generator-lite\vendor\composer/../devowl-wp/real-product-manager-wp-client/src/client/ClientUtils.php): Failed to open stream: No such file or directory in ..\wp-content\plugins\cloudflare\vendor\composer\ClassLoader.php on line 444
Ein Fehler vom Typ E_COMPILE_ERROR wurde in der Zeile 48 der Datei /wp-content/plugins/real-cookie-banner/index.php
Fehlermeldung: require_once(): Failed opening required '/wp-content/plugins/real-cookie-banner/inc/base/others/start.php' (include_path='.:/usr/lib/php7.4')

Neben diesen Beispielen kann die Fehlermeldung f√ľr jeden beliebige Dateinamen auftauchen.

Die Fehlermeldung Failed to open stream bedeutet, dass WordPress bzw. dein PHP Server versucht, eine Datei zu √∂ffnen, welche jedoch nicht existiert. In unserem Fall handelt es sich hier um Plugin-Dateien, welche w√§hrend des Update-Prozesses nicht verschoben werden konnten. Wie im nachfolgendem Screenshot zu sehen, findest du vermutlich nur einen Teil der Plugin-Dateien von bspw. Real Cookie Banner, wenn du den Plugin-Ordner via FTP pr√ľfst. Normalerweise solltest du weitere Ordner wie inc vorfinden.

Lösung, um das Plugin wieder zu aktivieren

Wie oben bereits erw√§hnt, hat WordPress aus Sicherheitsgr√ľnden das Plugin komplett deaktiviert, sodass deine Website weiterhin erreichbar ist. Du solltest nun folgende Schritte befolgen, um unser Plugin wieder wie vorher verwenden zu k√∂nnen:

  1. Logge dich in deine WordPress Instanz ein
  2. Navigiere zu deinen installierten Plugins
  3. Scrolle zu dem jeweiligen Plugin, welches deaktiviert wurde
  4. Uninstall it completely (don’t worry, during the uninstall we don’t delete any data like folders in Real Media Library or your settings for Real Cookie Banner!).
  5. Lade das Plugin erneut herunter
    1. Sollte es sich um eine kostenlose Version unseres Plugins handeln, kannst du dies √ľber Plugins > Installieren erneut installieren
    2. Sollte es sich um ein gekauftes Produkt handeln, logge dich in unserem Kundencenter ein und lade das Plugin erneut herunter. Lade das Plugin anschlie√üend √ľber Plugins > Installieren > Hochladen erneut hoch.
    3. Sollte es sich um ein gekauftes Produkt auf CodeCanyon.net handeln, navigiere zu codecanyon.net/downloads und lade dort das Plugin erneut herunter. Lade das Plugin anschlie√üend √ľber Plugins > Installieren > Hochladen erneut hoch.

Fehlgeschlagene Plugin-Updates in Zukunft vermeiden

Wie im Einleitungstext bereits erw√§hnt, handelt es sich bei dieser Art von fehlerhaften Updates um ein Problem mit dem WordPress Core, d. h. dies kann f√ľr jedes deiner Plugins auftreten (je nach Gr√∂√üe des Plugins). WordPress selbst ist sich diesem Problem bereits bewusst, "testet" und forscht jedoch noch an einer L√∂sung. Eine tempor√§re L√∂sung kann durch das von dem WordPress Core Team bereitgestellte Plugin Rollback Update Failure gefunden werden. Installiere dieses Plugin und pr√ľfe, ob das Problem erneut auftritt.

Sollte das Problem weiterhin auftreten, poste bitte das Problem direkt an das WordPress Core Team, so wie dieser User. Da das Problem unserer Auffassung nur bei automatischen Updates auftritt, nicht aber bei Updates √ľber einen Klick auf "Update" (die UI hat einen Rollback-Modus bereits implementiert), kannst du zus√§tzlich noch automatische Updates f√ľr das jeweilige Plugin deaktivieren.

Technische Ursache

Du m√∂chtest wissen, wieso dieses Problem √ľberhaupt auftritt? Wir versuchen, dies mal kurz und verst√§ndlich, aber auch technisch zusammenzufassen. Ein WordPress Entwickler hat dies in einem √∂ffentlichen Ticket auf folgende Ursache zur√ľckgef√ľhrt (√ľbersetzt):

After […] there is an error when updating large plugins such as Gutenberg or WooCommerce. After debugging the issue, it seems to be due to a PHP timeout and depends on the server’s configuration (which is why the failure only occurs for large plugins). The way we delete a directory in PHP is by going through all files in that directory and deleting them one by one (as far as I know this is the only way). As a result, deleting or restoring a backup of a large plugin takes more time than expected.

Dies beudetet, dein Server bzw. die Implementierung, wie WordPress Updates einspielt, ist schlicht zu langsam. Sollte ein Plugin aus vielen einzelnen Dateien bestehen, kann dies zu Problemen f√ľhren. W√§hrend des gesamten Prozesses, beginnend mit dem Zippen des alten Plugin-Ordners, l√∂schen des alten Plugin-Ordners, entpacken der neuen Version in einen tempor√§ren Ordner und abschlie√üendem Kopieren der neuen Dateien in den Zielordner, kann dies zu einem PHP Timeout deines Servers f√ľhren (PHP erlaubt je nach Konfiguration nur eine bestimmte Zeit an laufender Ausf√ľhrzeit). Sollte der Timeout im letzten Schritt (beim Kopieren der neuen Dateien) auftreten, wird der Vorgang abgebrochen und die restlichen Dateien wurden nicht mehr kopiert.

Das WordPress Team kennt eine potenzielle L√∂sung und hat diese ebenfalls unter einem √∂ffentlichen Ticket dokumentiert. WordPress m√∂chte einen Mechanismus einf√ľhren, um fehlerhafte Plugin / Theme Updates automatisch aus einem Backup wiederherzustellen und das Kopieren der neuen Dateien allgemein beschleunigen. Da es sich bislang um eine experimentelle L√∂sung handelt, wurde diese in ein Plugin ausgelagert: Rollback Update Failure (hier findest du die Code Stelle im WordPress Core der Auslagerung).

WordPress Plugins von devowl.io

Finde hilfreiche Artikel

Themen