Joomla 3.10.8 und php 8.1.4

  • Hallo,


    ich habe ein Problem mit Joomla 3.10.8 und php 8.1.4.

    Meine Website läuft mit Joomla 3.10.8 und php 7.4.28 ohne Probleme. Da der Support für php 7 Ende des Jahres eingestellt werden soll habe ich lokal einen Testserver mit Joomla 3.10.8 und php 8.1.4 aufgesetzt.

    Wenn ich dort ein Backup der livesite einspiele und Joomla aufrufe habe ich auf der Userseite und auf der Adminseite nur das Wort "Error".


    Wenn ich in der configuration.php error_reporting auf maximum und debug auf 1 setze, wird auf der Userseite und auf der Adminseite angezeigt:


    Deprecated: Joomla\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /srv/www/htdocs/BFB3108/libraries/vendor/joomla/input/src/Input.php on line 41


    Deprecated: Return type of Joomla\Input\Input::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /srv/www/htdocs/BFB3108/libraries/vendor/joomla/input/src/Input.php on line 170


    Deprecated: Joomla\CMS\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /srv/www/htdocs/BFB3108/libraries/src/Input/Input.php on line 31


    Warning: session_name(): Session name cannot be changed after headers have already been sent in /srv/www/htdocs/BFB3108/libraries/joomla/session/handler/native.php on line 128


    Deprecated: Joomla\CMS\Input\Cookie implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /srv/www/htdocs/BFB3108/libraries/src/Input/Cookie.php on line 21


    Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /srv/www/htdocs/BFB3108/libraries/joomla/session/handler/native.php on line 235


    Error: Failed to start application: Failed to start the session because headers have already been sent by "/srv/www/htdocs/BFB3108/libraries/vendor/joomla/input/src/Input.php" at line 41.


    Mit php7 auf dem Testserver funktioniert alles, mit php8 aber nicht.

    Joomla 4.1.2 funktioniert in der Testversion mit php7 und mit php8.


    Hat jemand einen Tip wie ich den Fehler bei 3.10.8 weg bekomme?


    Gruß gindi

  • Wenn du mit der Seite wieder online gehst, würde ich erstmal bei 7.4 bleiben.


    Wird ja noch bis 28.11.2022 supportet.


    Dann bei deinem Hoster schauen, das du max. erstmal PHP 8.0 (wurde ja schon erwähnt) einstellst.

    Wird noch bis 26.11.2023 supportet.


    PHP 8.1 ist noch nicht nötig.

    Es sei denn, alles Erweiterungen sind, wie auch schon erwähnt, aktuell.


    Ich habe 4 Seiten, die mit Erweiterungen, J4.1.2 und PHP 8.1 ohne Probleme laufen.

  • Online betreibe ich die Website mit php 7.4.28 und habe nicht vor dort mit php 8 zu experimentieren.

    Deshalb habe ich lokal einen Testserver eingerichtet und solange dort Joomla 3.10.8 und php 8.1 nicht harmonieren, werde ich online keine Experimente machen.

    Mein Linux-Anbieter bietet nur php 7.4.28 und php 8.1.4 in den Repositories an.

    Joomla 4.1.2 und php 8.1.4 funktionieren auf dem lokalen Testserver einwandfrei.

    Ich könnte auch die Website auf Joomla 4.1.2 upgraden aber solange das Kunena-Forum 6.0 nicht stabil läuft, muß ich noch warten.


    Gruß gindi

  • und mein Linux-Anbieter ist OpenSUSE (Leap 15.3)

    Leap 15.3 bietet lediglich PHP 7.4 an, Leap 15.4 bietet PHP 8.0.10 an, wobei Leap 15.4 z.Z. noch Beta ist. Sicher wird OpenSuse in diesem Jahr kein PHP 8.1.xx im Repository haben. Das musst du dir dann von der PHP-Seite runterladen und manuell installieren.

  • Das ist doch vollkommen unzutreffent.

    Wenn ich in meinem Yast-Kontrollzentrum "Online-Aktualisierung" oder "Software installieren oder löschen" anklicke und bei Suchen php eingebe und auf Suchen klicke, wird mir das installierte php7 Version 7.4.28-lp153.355.1 angezeigt und wenn ich nach unten scrolle wird mir das nicht installierte php8 Version 8.1.4-lp153.62.1 angezeigt.


    Gruß gindi

  • Das ist doch vollkommen unzutreffent.

    Wenn ich in meinem Yast-Kontrollzentrum "Online-Aktualisierung" oder "Software installieren oder löschen" anklicke und bei Suchen php eingebe und auf Suchen klicke, wird mir das installierte php7 Version 7.4.28-lp153.355.1 angezeigt und wenn ich nach unten scrolle wird mir das nicht installierte php8 Version 8.1.4-lp153.62.1 angezeigt.


    Gruß gindi

    Hier ist eine Anleitung:


    PHP-Einstellungen im Hosting-Paket selbst ändern | STRATO

  • Auf meinem Testserver mit php8 ist die offizielle 15.3 Version installiert. Mir ist aber aufgefallen, daß bei den letzten Updates Dateien aktualisiert werden, die eigentlich für 15.4 vorgesehen sind. Es ist mir aufgefallen als der VLC Medienplayer nicht mehr funktionierte. Dort war die Version für 15.4 installiert. Nach einem downgrade auf die Version für 15.3 geht der VLC wieder.



    php8-fileinfo - File identification extension for PHP


    Alternative Version Installierte Version

    Version: 8.1.4-lp153.63.1 8.1.4-lp153.59.1

    Bietet: config(php8-fileinfo) = 8.1.4-lp153.63.1 config(php8-fileinfo) = 8.1.4-lp153.59.1

    php-fileinfo = 8.1.4 php-fileinfo = 8.1.4

    php8-fileinfo = 8.1.4-lp153.63.1 php8-fileinfo = 8.1.4-lp153.59.1

    php8-fileinfo(x86-64) = 8.1.4-lp153.63.1 php8-fileinfo(x86-64) = 8.1.4-lp153.59.1

  • Eigentlich wird der VLC + entsprechende Libs gleich aus dem Packman-Repository installiert, dann spart man sich das "umkonfigurieren".

    Vielleicht hast du PHP 8 aber auch manuell mit dem Zypper installiert? Eins ist aber sicher: In der offiziellen Opensuse Leap 15.3 gibt es kein PHP 8.

  • Mir ist aber aufgefallen, daß bei den letzten Updates Dateien aktualisiert werden, die eigentlich für 15.4 vorgesehen sind.

    So, jetzt meine letzten 5 Cent zu diesem Thema, und dann ist gut: (Dieses Thema wäre in einem Opensuse-Forum eh´ besser aufgehoben).
    Du hast nicht nur die Repositories von Leap 15.3 und 15.4 vermengt, du hast auch, aus welchem Grund auch immer, Tumbleweed Repositories mit eingebunden. Denn nur unter Opensuse Tumbleweed gibt es PHP 8.1.4. Tumbleweed ist ein sog. "Rolling Release", für diejenigen, die immer die aktuellste Software haben müssen.

    Also abschließend:
    Opensuse Leap 15.3 enthält nur PHP 7.4.28

    Opensuse Leap 15.4 enthält PHP 7.4.28 und PHP 8.0.10

    Opensuse Tumbleweed enthält PHP 7.4.28 und PHP 8.1.4


    Da scheint ein gehöriges Durcheinander auf deinem Server zu herrschen.

  • So, jetzt meine letzten 5 Cent zu diesem Thema, und dann ist gut: (Dieses Thema wäre in einem Opensuse-Forum eh´ besser aufgehoben).

    Super Argument, aber glaubst du nicht auch, dass das Unterverzeichnis "devel" eventuell für development, also Entwicklung steht. Und dass es Probleme gibt bei der Verwendung eines Entwicklungs-Repositories in einer Live-Umgebung, dafür hast du ja genügend Beweise geliefert.

  • Super Argument, aber glaubst du nicht auch, dass das Unterverzeichnis "devel" eventuell für development, also Entwicklung steht. Und dass es Probleme gibt bei der Verwendung eines Entwicklungs-Repositories in einer Live-Umgebung, dafür hast du ja genügend Beweise geliefert.

    "Meine Website läuft mit Joomla 3.10.8 und php 7.4.28 ohne Probleme. Da der Support für php 7 Ende des Jahres eingestellt werden soll habe ich lokal einen Testserver mit Joomla 3.10.8 und php 8.1.4 aufgesetzt."

    Von Problemen in einer Live-Umgebung ist hier keine Rede.

    Damit sollten wir die Diskussion beenden.

    Gruß gindi


    https://github.com/joomla/joomla-cms/issues/37035 dürfte weiter helfen.

    Ob es schon einen passenden fix gibt, habe ich nicht gefunden.

    Danke, das ist eine hilfreiche Information zu meine Frage.


    Gruß gindi

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von gindi35510 mit diesem Beitrag zusammengefügt.

  • https://github.com/joomla/joomla-cms/issues/37035 dürfte weiter helfen.

    Ob es schon einen passenden fix gibt, habe ich nicht gefunden.

    Nun ja, der Fix war hier: https://github.com/joomla/joom…ll/37074#issue-1140642998


    Kann aber (keinen?) Zusammenhang mit der Diskussion von Opensuse, Tumbleweed etc. erkennen.

    Kenne mich aber damit nicht aus - muss ich auch nicht :)


    Liebe Grüße

    Christine

  • Wenn ich dort ein Backup der livesite einspiele und Joomla aufrufe habe ich auf der Userseite und auf der Adminseite nur das Wort "Error".

    Die /logs und /tmp - Pfade hast du lokal angepasst?


    Die .htaccess auch mal deaktiviert?


    Der Eintrag

    Code
    public $live_site = '';

    ist leer?


    Ist jetzt so, was mir noch eingefallen ist um es zu testen.