Deine Website hat ein technisches Problem: Plugin verwendet irgendwie eine alte PHP Version

  • Hallo,


    ich würde hier mal ein Glück versuchen, vielleicht hat noch einer eine Idee oder einen Tipp.


    Ich habe auf meinem Webhosting Paket (Webhosting 4000 de ) ein Wordpress am laufen (Seit 2009)

    Aktuell nutze ich die PHP Version 8.2. Das ist so im Webhosting Control Panel eingestellt.


    Vor kurzem gab es ein Update eines Plugins. Dieses Plugin verwendet wohl die 'fn' Funktion von PHP, die

    in der PHP Version 7.4 irgendwann hinzugefügt wurde.


    Doch seit dem Update bekomme ich immer wieder automatische Mails von Wordpress:

    Deine Website hat ein technisches Problem


    WordPress-Version 6.8.2

    Aktives Theme: Ribosome (Version 2.5.0)

    Aktuelles Plugin: Featured Image from URL (FIFU) (Version 5.2.8)

    PHP-Version 7.3.33


    Fehler-Details

    ==============

    Ein Fehler vom Typ E_PARSE wurde in der Zeile 755 der Datei

    /var/www/vhosts/hosting100216.af996.netcup.net/httpdocs/medlan/wordpress/wp-content/plugins/featured-image-from-url/admin/db.php verursacht.

    Fehlermeldung: syntax error, unexpected 'fn' (T_STRING), expecting :: (T_PAAMAYIM_NEKUDOTAYIM)


    Also ich nochmal alles geprüft. PHPInfo sagt auch Version 8.2.28.

    Eine Subdomain wäre nicht relevant, doch auch die sind alle auf PHP 8.2.


    Eine Idee hatte ich dann aber noch: Die Hosting Basis URL:

    hosting100216.af996.netcup.net

    Und in der Tat. Da war noch 7.3.33 aktiv. Umgestellt. Fehler bleibt.


    Über die Fehlermeldung bin ich auf einen Artikel zu einem andere Produkt gestoßen.

    Dort ging es auch um die Problematik (https://discourse.laminas.dev/…-laminas-diactoros/3466/4)

    und für mich klang das so als ob man theoretisch über die CLI eine andere PHP Version hat als das, was z.B.

    beim Webhosting aktiv ist.


    Aber auf eine Kommandozeile komme ich ja im Webhosting nirgends drauf, um das prüfen zu können.


    Mein Fazit so weit:

    Alle relevanten URLs und Stellen, wo ich meiner Meinung nach die PHP Version umstellen kann, habe ich auf 8.2 gestellt

    Es gibt keine .htaccess Datei die eine andere Version festlegen würde.

    PHPInfo, Wordpress und Webhosting Control Panel zeigen auch PHP 8.2 an.


    Trivia:

    Die Seite läuft an sich ohne Probleme. Ich weiß auch nicht was die Mail auslöst

    Die WordPress-Version ist eigentlich 6.8.3 nicht 6.8.2 wir in der Fehlermail angegeben.


    Fragen:

    Gibt's noch was, wo ich die PHP Version beeinflussen oder was prüfen könnte?

    Bzw. kann man für den eigenen Webhosting Bereich allgemein die Minimum PHP Version hochsetzen?

    (Man kann's ja dann immer noch pro Domain feiner einstellen bei Bedarf)


    Vielen Dank für eure Aufmerksamkeit


    PS: Auch wenn's vermutlich nicht relevant ist: Die Domain ist http://www.medlan.de

  • Alle relevanten URLs und Stellen, wo ich meiner Meinung nach die PHP Version umstellen kann, habe ich auf 8.2 gestellt

    Es gibt keine .htaccess Datei die eine andere Version festlegen würde.

    [...]

    Gibt's noch was, wo ich die PHP Version beeinflussen oder was prüfen könnte?

    Im Verzeichnis "conf" die Datei "phpversion" anpassen. Version ohne Punkt dazwischen (z.B. 82)

  • Auf die Datei habe ich glaube ich beim Webhosting Paket keinen Zugriff.


    Bin grade noch im Webhosting Control Panel auf die 'WP-CLI' gestoßen.

    Die gibt auch PHP 8.2 aus. :/


    Edit: Das war noch der Beitrag von Stackoverflow der darauf hindeutet, dass es verschiedene Versionen zwischen Apache & CLI gibt

    https://stackoverflow.com/questions/77079705/php-parse-error-syntax-error-unexpected-fn-t-string-expecting-t-paama

    Edited once, last by Medlan: Link hinzugefügt ().

  • Ich teste das mal ...

    Finde das seltsam, dass dort 72 hinterlegt ist, wenn das Plugin ja mit 7.3.33 ausgeführt wird.


    Für alle die, die über den Beitrag stolpern:

    https://helpcenter.netcup.com/de/wiki/webhosting/php-shell

    Wenn man noch keine Berührungspunkte damit hatte: In der Tat gibt's auch SSH Zugriff. Hab' das die letzten >15 Jahre nie gebraucht.

    Login Daten sind (vermutlich) die selben wie beim FTP.

    Und da findet man dann auch den conf Ordner mit der phpversion Datei die man bequem mit nano (oder welchen Editor man auch immer bevorzugt) bearbeiten kann.

  • Finde das seltsam, dass dort 72 hinterlegt ist, wenn das Plugin ja mit 7.3.33 ausgeführt wird.

    Mit dem Verdacht lag ich dann leider auch richtig. Habe auf '74' umgestellt und nach einer Stunde hat die PHP CLI auch 7.4 ausgegeben.


    Doch vor wenigen Minuten erreichte mich die Fehlermail wieder und immer noch der Verweis auf PHP 7.3.33


    WordPress-Version 6.8.3

    Aktives Theme: Ribosome (Version 2.5.0)

    Aktuelles Plugin: Featured Image from URL (FIFU) (Version 5.2.8)

    PHP-Version 7.3.33


    Da ich leider noch nicht rausgefunden habe, wann/wodurch der Fehler ausgelöst wird (Mails kamen immer zu unterschiedlichen Tagen / Zeiten) kann man die Änderungen auch nicht einfach 'schnell testen'.


    Das Plugin hat auch eine eigene Status Seite bei der - wie auch beim Wordpress Status - die eigentlich aktivierte PHP Version 8.2.28 angezeigt wird.


    Zusammengefasst:

    Webhosting-Control Panel ist 8.2 beim Blog und allen Subdomains eingestellt

    Webhosting-Control Panel ist 8.2 bei der hosting100216.af996.netcup.net eingestellt.

    .htaccess, die eine PHP Version festlegt, gibt es nicht.

    Version in der phpversion ist auf 74 eingestellt (php -v liefert 'PHP 7.4.33 (cli) (built: Jun 6 2024 11:29:53) ( NTS )')

    Fehlermail verweist weiterhin auf PHP 7.3.33

  • Gibt es Cron-Jobs, die noch eine alte PHP-Version verwenden? Geben die Header in der Mail vielleicht irgendwelche Hinweise?

    Die Mail ist so eine automatisierte von Wordpress. Da werden wohl die PHP Fehler abgefangen so dass nicht die Ganze Seite abstürzt.

    Das mit den Cron Jobs finde ich noch einen interessanten Ansatzpunkt. Aktiv habe ich da zwar nichts eingerichtet, doch wer weiß was da immer alles im Hintergrund passiert.


    Hatte das Plugin mal kurzzeitigt deaktiviert, da konnte man auch ein Feedback senden, da habe ich das Problem auch mal geschildert.

    Ich lasse ein Feedback da, wenn ich was neues raus finde.

  • Hab' die Cron Ereignisse geprüft. Das Plugin führt dort in der Tat auch Events aus, passte jedoch zeitlich nicht zu den Fehlermails.


    Das Problem wird sich jetzt aber gelöst haben, denn von dem Plugin kam heute ein Update

    Code
    Fix: possible syntax error on sites with very old PHP versions.

    Und die Stelle mit dem 'fn' Aufruf wurde ersetzt.

    Damit verschieben wir das zwar nur in die Zukunft, wenn ich aber noch irgendwelche Erkenntnisse gewinne, dann werde ich das hier ergänzen.