Support » Allgemeine Fragen » Seite läuft nur mit PHP 7.4, Update führt zu Anzeige Fehler

  • Gelöst hermannenkemeier

    (@hermannenkemeier)


    Hallo,

    Ich bin hier neu und bitte um Verzeihung, wenn dieses Problem möglicherweise schon woanders gelöst wurde, ich es aber nicht verstanden oder gefunden habe! Ich bin kein Power User …

    Die Website http://arscantandi.de/ läuft mit PHP 7.4, wofür ich Support bei IONOS zahlen muss. Das Update auf PHP 8.x führt zu der Fehlermeldung in Browser: „Es gab einen kritischen Fehler auf deiner Website.“

    Das eingesetzte Theme ist ein Child von Twenty Eleven.

    Leider weiß ich nicht, wo ich ansetzen soll. Mit »W3 Total Cache« habe ich schon rumprobiert, leider ohne Erfolg.
    Das Backend funktioniert auch nur mit PHP 7.4
    Die Fehlermeldung da ist:„Es gab einen kritischen Fehler auf deiner Website. Bitte überprüfe den Posteingang deiner Website-Administrator-E-Mail-Adresse für weitere Anweisungen.“
    Eine Email kam bislang nicht an.

    Danke im Voraus für Eure Hilfe
    Hermann

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)
  • Thread-Starter hermannenkemeier

    (@hermannenkemeier)

    PS.: Die WordPress Version ist 6.3.1 deutsch

    Es gab einen kritischen Fehler auf deiner Website.

    … ist ein wenig allgemein, um dazu wirklich irgendeine Empfehlung zu geben. Hilfreich wäre entweder ein Auszug aktueller Fehlermeldungen im Error-Log des Webservers oder zumindest die Aktivierung des Debug-Modus in der Datei wp-config.php. Dazu lädst du die Datei per FTP-Programm (z.B. FileZilla) herunter, änderst die Zeile define( 'WP_DEBUG', false ); mit einem Programmiereditor in define( 'WP_DEBUG', true ); und lädst die Datei wieder hoch.

    Die „versprochene“ E-Mail zum kritischen Fehler kann leider nur versendet werden, wenn der Fehler nicht zu früh im Skriptablauf auftaucht. Im ungünstigen Fall bekommst du eben nichts.

    Wenn du keinen Error-Log einrichten kannst und der aktivierte Debug-Modus auch keine Meldungen auswirft, kannst du probieren, die Plugins alle zu deaktivieren. Solltest du keinen Zugriff auf das Backend haben, reicht es, das Verzeichnis wp-content/plugins in wp-content/no.plugins umzubenennen und erneut zu versuchen, dich im Backend anzumelden. Danach benennst du das Verzeichnis bitte wieder in wp-content/plugins um und führst anstehende Aktualisierungen durch. Hier kannst du nun einzeln die Plugins aktivieren um (ähnlich wie beim Sicherungskasten im Haus) herauszufinden, bei welchem Plugin der Fehler wieder auftritt. Damit hast du dann die Fehlerursache eingegrenzt.

    Wenn du den Fehler eingrenzen konntest, vergiss bitte nicht, den Debug-Modus wieder zu deaktivieren (define( 'WP_DEBUG', false ); in der wp-config.php).

    Thread-Starter hermannenkemeier

    (@hermannenkemeier)

    Danke!

    nach der Umstellung auf define( ‚WP_DEBUG‘, true );
    Kam jetzt das im Backend zum Vorschein:

    Deprecated: Non-static method Remove_Comments_Absolute::get_object() should not be called statically in /homepages/29/d34937150/htdocs/arscantandi.de/wordpress/wp-includes/class-wp-hook.php on line 310

    Deprecated: Die Funktion add_object_page ist seit Version 4.5.0 veraltet! Verwende stattdessen add_menu_page(). in /homepages/29/d34937150/htdocs/arscantandi.de/wordpress/wp-includes/functions.php on line 5453

    Und das beim Aufrufen der Seite:

    Deprecated: Non-static method Remove_Comments_Absolute::get_object() should not be called statically in /homepages/29/d34937150/htdocs/arscantandi.de/wordpress/wp-includes/class-wp-hook.php on line 310

    Notice: Only variables should be assigned by reference in /homepages/29/d34937150/htdocs/arscantandi.de/wordpress/wp-content/plugins/remove-comments-absolute.php on line 257

    Ich habe DEBUG noch nicht wieder ausgeschaltet, zum Nachschauen!

    Das sind Meldungen, dass im Plugin Remove Comments Absolute eine veraltete Programmierweise verwendet wird und auch sonst nicht ganz sauber programmiert wurde. Was passiert denn, wenn du dieses Plugin deaktivierst?

    Thread-Starter hermannenkemeier

    (@hermannenkemeier)

    Hi, das Habe ich gerade gemacht, jetzt ist eine Meldung weg.
    Diese ist noch auf der Seite:
    Deprecated: Die Funktion get_bloginfo wurde mit einem Argument aufgerufen, das seit Version 2.2.0 veraltet ist! Die home Optionen sind veraltet für die bloginfo() Funktionsfamilie. Stattdessen sollte die url Option verwendet werden. in /homepages/29/d34937150/htdocs/arscantandi.de/wordpress/wp-includes/functions.php on line 5737

    Und diese im Backend:
    Deprecated: Die Funktion add_object_page ist seit Version 4.5.0 veraltet! Verwende stattdessen add_menu_page(). in /homepages/29/d34937150/htdocs/arscantandi.de/wordpress/wp-includes/functions.php on line 5453

    In den angegebenen Lines in functions.php steht:
    5737 und 5453:

    E_USER_DEPRECATED

    Die Fehlermeldung DEPRECATED soll dich darauf aufmerksam machen, dass Code verwendet wird, der veraltet ist. Das kann bei künftigen PHP-Versionen zu Problemen führen, ist aber erst einmal nicht so kritisch, dass deine Website nicht mehr laufen würde.

    Der Fehlerhinweis enthält dann zwar den Hinweis auf die Datei wordpress/wp-includes/functions.php, das ist aber nur der Ort, wo der Fehler sich das erste Mal bemerkbar macht – nicht, wo wirklich ein Fehler gemacht wurde. Bei kritischen Fehlern wird dann noch ein so genannter Strack Trace mitgeliefert, anhand dessen du besser nachvollziehen kannst, über welche verschlungenen Pfade sich der Fehler bemerkbar gemacht hat. Auch hier nochmal der Hinweis: deaktviere alle Plugins, schau ob die Meldung verschwindet und aktiviere die Plugins einzeln, bis die Meldung wieder aufttaucht. Ziel ist, im Ausschlussprinzip die Ursache herauszufinden.

    Thread-Starter hermannenkemeier

    (@hermannenkemeier)

    Der Übeltäter ist das uralte PlugIn »Events«.

    add_object_page habe ich zu add_menu_page in der Datei wp-events.php geändert. Damit verschwand die Meldung zu line 5453.

    Die andere ist noch da:
    »Die Funktion get_bloginfo wurde mit einem Argument aufgerufen, das seit Version 2.2.0 veraltet ist! Die home Optionen sind veraltet für die bloginfo() Funktionsfamilie. Stattdessen sollte die url Option verwendet werden.«
    Wo muss ich da suchen? …

    Thread-Starter hermannenkemeier

    (@hermannenkemeier)

    PHP 8.1 geht jetzt immerhin schon mal. Die bloginfo() habe ich gerade gefunden und auf url umgestellt. Jetzt läuft es wieder.
    Hurra und tausend Dank für die richtigen Hinweise!
    Hermann

    Klingt so, als wäre damit das Problem gelöst?
    Dann markiere ich den Thread entsprechend.

    Weiterhin viel Erfolg mit WordPress. 🌻

    Thread-Starter hermannenkemeier

    (@hermannenkemeier)

    Ja, nochmal Danke!

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)