PHP 7.4 auf PHP 8 Probleme beim Update

  • Liebes Forum,


    langsam bin ich am Verzweifeln, da ich bei zwei Joomla-Webseiten Probleme habe beim Upgraden der PHP-Version:

    Bei der ersten kommt folgende Fehlermeldung beim Abrufen des Front-Ends (das Backend funktioniert weiterhin):

    require_once(...cms/libraries/joomla/document/html/renderer/head.php): Failed to open stream: No such file or directory in ...cms/templates/lt_architecture/error.php on line 27
    Error: Failed opening required '...cms/libraries/joomla/document/html/renderer/head.php' (include_path='.:'): count(): Argument #1 ($value) must be of type Countable|array, string given


    Woran liegt der Fehler?
    Ist das Template womöglich nicht mit PHP8 kompatibel?



    Bei der zweiten Seite funktioniert nach dem Update auf PHP 8 vorerst alles problemlos.
    Nach 2 oder 3 Tagen allerdings kann ich mich nicht mehr im Backend einloggen, da die /administrator Seite nur noch weiß ist, obwohl die PHP Version bereits mehrere Tage auf 8 war.


    Ich wäre Euch sehr dankbar, wenn jemand einen Lösungsansatz für mich hätte und bedanke mich im Voraus für jede Hilfestellung!


    Viele Grüße
    Chasper

  • Im ersten Fall würde ich vor der Migration auf das Protostar umschalten.


    Was kamen denn für Meldungen bei der Migrationsprüfung?


    War alles aktuell?


    Erweiterungen/Template/Framework?


    Ich würde das Backup einspielen, alles aktualisieren, und schauen, was angezeigt wird.


    Auch mal den Call Stack aktivieren!

  • Vielen Dank für die schnelle Rückmeldung.


    Website Nr 1.)

    Das mit dem Umstellen auf Protostar klingt schon einmal nach einer guten Idee.
    Leider muss ich die Umstellung der PHP-Version immer per E-Mail beantragen, daher werde ich das wohl erst die nächsten Tage machen können.


    Was meinst Du mit der Migrationsprüfung? Sprechen wir hier von der ersten oder zweiten Seite?
    Aktuell läuft Joomla 3.10.11 auf beiden Seiten.



    Website Nr 2.)

    Wenn ich Call Stack aktiviere werden mir weiterhin keine Fehler angezeigt, momentan funktioniert die Admin Seite auf der zweiten Seite allerdings noch.

    Ich werde nun mit der zweiten Seite abwarten, bis der Administrationsbereich wieder nur eine weiße Seite zeigt und dann den Tipp mit Call Stack versuchen.

    SP Page Builder und das Template hätten noch eine aktualisierte Version, leider funktioniert das Update über Joomla nicht.
    Soll ich versuchen die Updates manuell durchzuführen?

    Vielen Dank schon einmal für Deine Hilfe!

  • Ja, sorry. Dachte an Migration auf J4. Hast ja nur die PHP-Version umgestellt.


    Was sagt denn der Call Stack bei 1?


    Leider muss ich die Umstellung der PHP-Version immer per E-Mail beantragen, daher werde ich das wohl erst die nächsten Tage machen können.


    Bitte?


    Welcher Hoster macht denn sowas?

  • Der Hoster dieser Seite ist ein "lokales" Unternehmen, welches leider kein Admin-Panel anbietet.


    Bei Website Nr. 1 habe jetzt unter PHP 7.4 das Error-Reporting auf Maximal gestellt und da kommen bereits folgende Fehlermeldungen:


    Warning: A non-numeric value encountered in ...cms/plugins/system/helix3/core/helix3.php on line 484

    Warning: A non-numeric value encountered in ...cms/plugins/system/helix3/core/helix3.php on line 484

    Warning: A non-numeric value encountered in ...cms/plugins/system/helix3/core/helix3.php on line 484

    Warning: A non-numeric value encountered in ...cms/plugins/system/helix3/core/helix3.php on line 484


    Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ...cms/plugins/system/helix3/core/classes/menu.php on line 85

    Warning: count(): Parameter must be an array or an object that implements Countable in ...cms/plugins/system/helix3/core/classes/menu.php on line 239

    Warning: count(): Parameter must be an array or an object that implements Countable in ...cms/plugins/system/helix3/core/classes/menu.php on line 239

    Warning: count(): Parameter must be an array or an object that implements Countable in ...cms/plugins/system/helix3/core/classes/menu.php on line


    Helix3 ist ja das Framework des Template, dann wird es wohl auch beim Update der PHP Version damit zu tun haben.
    Kennst Du eine Lösung für das Problem?


    //EDIT!!
    Habe das Helix3 Framework gerade händisch aktualisiert und die Fehlermeldungen sind derzeit nicht mehr da.
    Werde jetzt die Umstellung auf PHP 8 anordnen, um zu sehen, ob es vielleicht daran gelegen hat.


    Bei Website Nr. 2 habe ich nun das Template und den SP Page Builder geupdatet und hoffe auf eine Lösung des Problems.
    Da dieses aber immer erst nach ein paar Tagen nach Umstellung der PHP Version auftritt muss ich da wohl erstmal abwarten.

  • So die erste Seite läuft mittlerweile auf PHP 8 und die meisten Seiten werden angezeigt.

    Allerdings habe ich zwei Phoca Gallery Seiten, bei welchen immer folgende Fehlermeldung kommt:



    Warning: require_once(...cms/libraries/joomla/document/html/renderer/head.php): Failed to open stream: No such file or directory in ...cms/templates/lt_architecture/error.php on line 27

    Error: Failed opening required '...cms/libraries/joomla/document/html/renderer/head.php' (include_path='.:'): Unsupported operand types: int / string


    Ich habe bereits versucht, Phoca Gallery zu updaten, leider blieb das erfolglos.
    Woran kann das liegen?


    Vielen Dank schon einmal für Eure Hilfe!

    Viele Grüße
    Chasper

  • Phoca Gallery ist bereits aktualisiert, das Problem tritt leider weiterhin auf...


    Nach einer längeren Google Suche habe ich herausgefunden, dass es seit einiger Zeit wohl die head.php nicht mehr gibt.

    Mit folgendem Code konnte ich zumindest lösen, dass diese Datei versucht wird zu öffnen:


    Code
    $header_contents = '';
    if(!class_exists('JDocumentRendererHead')) {
    $head = JPATH_LIBRARIES . '/joomla/document/html/renderer/head.php';
    if(file_exists($head)) {
    require_once($head);
    }
    }

    Allerdings kommt nun weiterhin folgende Fehlermeldung, mit welcher ich absolut nichts anfangen kann:

    Unsupported operand types: int / string


    Kann mir dabei jemand weiterhelfen?
    Oder gibt es generell eine bessere Lösung für die gesamte Problematik?

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

  • Konnte das Problem vorerst nur anderweitig lösen.

    Laut dem Phoca-Forum hängt der Fehler wohl an der Kombination aus PHP 8, der aktuellen Phoca Gallery Version und Joomla 3.10.x
    Die Entwickler wollen wohl, dass man die neueste Phoca Gallery Version zusammen mit PHP auf einer Joomla 4.x Version installiert.

    Da ich zu keiner anderen Lösung gekommen bin, und derzeit noch nicht auf Joomla 4.0 upgraden möchte, habe ich nun die Foto Galerie von sigPlus installiert, welche problemlos mit den o.g. Versionen funktioniert.

  • Phoca Gallery ist bereits aktualisiert, das Problem tritt leider weiterhin auf...


    nehme an, da Joomla 3: Version 4.4.3


    Allerdings kommt nun weiterhin folgende Fehlermeldung, mit welcher ich absolut nichts anfangen kann:

    Unsupported operand types: int / string

    Probiere es mal mit PHP 8.0


    Habe auch vorhin Jan kontaktiert.


    Liebe Grüße

    Christine


    das neueste Post hat sich mit meinem überschnitten.

  • Bei der ersten Seite habe ich es nun aufgegeben und einfach ein anderes Plugin verwendet, um die Bilder auf der Website anzuzeigen.


    Bei Website Nr. 2 hingegen tritt das Problem mit der weißen /administrator Seite (Backend) ein paar Tage nach Umstellung auf PHP 8 wieder auf.
    Nach dem Ändern des "error reportings" der configuration.php werden folgende Fehlercodes angezeigt:


    Deprecated: Required parameter $saveOrderingUrl follows optional parameter $sortDir in .../public_html/libraries/solidres/html/jquery.php on line 307

    Fatal error: Array and string offset access syntax with curly braces is no longer supported in .../public_html/administrator/components/com_solidres/models/system.php on line 113


    Kann mir dabei jemand weiterhelfen?
    Wenn ich im Backend etwas updaten soll funktioniert das nur, wenn ich die PHP-Version zuerst wieder auf 7.4 downgrade.
    Ob der Fehler dann aber wieder auftritt stellt sich erst nach 2-4 Tagen heraus...


    Freue mich auf Eure Antworten und bedanke mich für Eure Hilfe!!

    Viele Grüße
    Chasper

  • Hallo,


    nur zur Info. Die letzte Phoca Gallery-Version (Version 4.4.3) für Joomla 3 wurde am 26.06.2021 veröffentlicht und PHP 8.1 wurde am 25.11.2021 veröffentlicht, das heißt, sie wurde vor der Veröffentlichung von PHP 8.1 veröffentlicht und ist daher nicht kompatibel mit PHP 8.1. Version 4.5.x ist mit PHP 8.1 kompatibel, diese Version wurde nach der Veröffentlichung von PHP 8.1 veröffentlicht. Zur gleichen Zeit, als Joomla 4 bereits stabil war.


    Zu diesem Fehler: Nicht unterstützte Operandentypen: int / string - Es ist gut, den Debug-Mode immer einzuschalten, damit die Fehlerzeile, die Datei mit dem Fehler und der gesamte Debug-Trace angezeigt werden. Aber solche Fehler muss man leider auf eigene Weise behoben werden, da die Entwicklung für Joomla 3 vor langer Zeit abgeschlossen wurde (wenn man sich fragt, warum, ist es sehr einfach - die gesamte Freizeit wurde darauf verwendet, Phoca Gallery für Joomla 4 vorzubereiten und vollständig zu modernisieren, um dem Jahr 2022 zu entsprechen).

    Jan

  • Hallo Jan,

    nur zur Info. Die letzte Phoca Gallery-Version (Version 4.4.3) für Joomla 3 wurde am 26.06.2021 veröffentlicht und PHP 8.1 wurde am 25.11.2021 veröffentlicht, das heißt, sie wurde vor der Veröffentlichung von PHP 8.1 veröffentlicht und ist daher nicht kompatibel mit PHP 8.1. Version 4.5.x ist mit PHP 8.1 kompatibel, diese Version wurde nach der Veröffentlichung von PHP 8.1 veröffentlicht. Zur gleichen Zeit, als Joomla 4 bereits stabil war.

    Bei der Veröffentlichung vom 26.06.2021 steht: PHP 8.0 kompatibel. Deswegen war mein Vorschlag an den TE, auf PHP 8.0 zu gehen & nicht PHP 8.1


    Auf meinem privaten Space habe ich unlängst auf PHP 8.0 geswitcht. Da gibt es noch Joomla 3 mit Phocagallery und läuft.


    Auf dem Vereinsserver ist noch PHP 7.4 (Joomla 3), aber da habe ich ja vor - meine Seite (wenn fertig) migrierte Joomla 4 PG zu übersiedeln. (Da auf dem Vereinsseiten-Server Probleme mit Sub-domain war, hat mir Re:Later freunderlicherweise dort Unterschlupf gewährt) :) Ah ja: Dort ist natürlich PHP 8.1


    Liebe Grüße

    Christine

  • Dann ist sie wohl nicht PHP 8-tauglich und würde sie deinstallieren/löschen.


    Die sagen, man hat ja noch bis zum 28.11.2022 Zeit.


    Ja, einige Hoster bieten auch längerfristig (teilweise kostenpflichtig) PHP 7.4 an.


    Aber wenn sie es bis jetzt nicht angepasst haben ..................

  • Fatal error: Array and string offset access syntax with curly braces is no longer supported in .../public_html/administrator/components/com_solidres/models/system.php on line 113


    & dort wird Version 2.12.10 angegeben.

    aber vom Frontend geredet.


    So oder so hat aktuelle Version 2.12.10 besagte Zeile 113 gar nicht und "Curly Brackets" kann ich auch nicht in der Nähe entdecken.


    Ich habe mal eben die Free 2.12.10 auf PHP8.0 installiert und sehe keine fatalen Fehler im Backend. Kann aber auch daran liegen, dass man nicht weiß, was TE evtl. noch so aktiviert/installiert hat, weil es gibt ja auch eine Pro-Version oder so was.


    Nach dem Ändern des "error reportings" der configuration.php werden folgende Fehlercodes angezeigt:

    Bei fatalen ERRORS: Man sollte das immer gründlich machen, wie hier beschrieben: Fehler finden durch detailliertere Fehlermeldung. Debug-Modus. Call stack.


    Weil diese Deprecated-Meldungen etc. lenken ja nur vom eigentlichen Problem ab. Zuerst jedenfalls mal.