Update auf PHP 8.1 funktioniert nicht (Shopware 5.7.16)

Hallo Zusammen,

ich habe hier schon einige Beiträge gelesen, jedochhabe ich keine Lösung gefunden.

folgende Fehler Meldung liegt nach der Umstellung vor:
Fatal error: Uncaught TypeError: floor(): Argument
#1 ($num) must be of type int|float, string given in /homepages/30/d793185989/htdocs/shop/var/cache/production_202211020949/templates/frontend_Kaesebaumann_de_DE_1_secure/48/78/46/4878464f6f0fde2e72d683060ce253356a818f04.snippet.index.tpl.php:625 Stack trace: #0 /homepages/30/d793185989/htdocs/shop/var/cache/production_202211020949/templates/frontend_Kaesebaumann_de_DE_1_secure/48/78/46/4878464f6f0fde2e72d683060ce253356a818f04.snippet.index.tpl.php(625): floor(‚‘)
#1 /homepages/30/d793185989/htdocs/shop/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_6406380259a2f3_36831704(Object(Enlight_Template_Default))
#2 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/View/Default.php(286): Smarty_Internal_TemplateBase->fetch()
#3 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(180): Enlight_View_Default->render(Object(Enlight_Template_Default))
#4 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(207): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->renderTemplate(Object(Enlight_Template_Default))
#5 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php(124): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->render()
#6 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Event/Handler/Default.php(90): Enlight_Controller_Plugins_ViewRenderer_Bootstrap->onPostDispatch(Object(Enlight_Controller_ActionEventArgs))
#7 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Event/EventManager.php(207): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#8 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Controller/Action.php(229): Enlight_Event_EventManager->notify(‚Enlight_Control…‘, Object(Enlight_Controller_ActionEventArgs))
#9 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Controller/Dispatcher/Default.php(467): Enlight_Controller_Action->dispatch(‚indexAction‘)
#10 /homepages/30/d793185989/htdocs/shop/engine/Library/Enlight/Controller/Front.php(225): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#11 /homepages/30/d793185989/htdocs/shop/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch()
#12 /homepages/30/d793185989/htdocs/shop/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#13 /homepages/30/d793185989/htdocs/shop/vendor/symfony/http-kernel/HttpCache/HttpCache.php(479): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true)
#14 /homepages/30/d793185989/htdocs/shop/engine/Shopware/Components/HttpCache/AppCache.php(266): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#15 /homepages/30/d793185989/htdocs/shop/vendor/symfony/http-kernel/HttpCache/HttpCache.php(452): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#16 /homepages/30/d793185989/htdocs/shop/vendor/symfony/http-kernel/HttpCache/HttpCache.php(346): Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(Object(Symfony\Component\HttpFoundation\Request), true)
#17 /homepages/30/d793185989/htdocs/shop/engine/Shopware/Components/HttpCache/AppCache.php(192): Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#18 /homepages/30/d793185989/htdocs/shop/vendor/symfony/http-kernel/HttpCache/HttpCache.php(224): Shopware\Components\HttpCache\AppCache->lookup(Object(Symfony\Component\HttpFoundation\Request), true)
#19 /homepages/30/d793185989/htdocs/shop/engine/Shopware/Components/HttpCache/AppCache.php(117): Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /homepages/30/d793185989/htdocs/shop/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#21 {main} thrown in /homepages/30/d793185989/htdocs/shop/var/cache/production_202211020949/templates/frontend_Kaesebaumann_de_DE_1_secure/48/78/46/4878464f6f0fde2e72d683060ce253356a818f04.snippet.index.tpl.php on line 625

Folgendes habe ich schon vorgenommen:

  • Plugins habe ich alle deaktiviert. In der Testumgebung liegt der Fehler auch vor, hier habe ich keine externen Plugins installiert.
  • den Ordner chache/production… habe ich umbenannt so das ein neuer Ordner angelegt wurde.
  • Alle Elemente in der Einkaufswelt habe ich deaktieviert.

Würde mich über eure Hilfe und euren Rat freuen…

Danke Jürgen

Hallo,

versuch mal das Original Responsive Theme oder PHP 8.0 - liegt evtl. am Theme oder einem Plugin, allerdings bin ich mir auch nicht sicher, ob Shopware 5 überhaupt mit PHP 8.1 kompatibel ist (es gibt allerdings Shops, die mit PHP 8.0.xx laufen).

Viele Grüße

Eigentlich läuft SW5 mit 8.1, derzeit wird auf 8.2 angepasst
Grob überflogen tippe ich auf ein snipped Problem, entweder direkt in einem Textbaustein oder wohl eher auf ein Textbausteinproblem im Theme. Da halte ich es wie scoopex: erst einmal auf das standard Responsive-Theme wechseln, und wenn das nicht hilft, durch alle Plugins hangeln.

Hi habe meine Testumgebung auf das reponsive Template mal umgestellt.
Selbe Fehlermeldung bei Umstellung auf PHP 8.
Hier habe ich keine externen Plugins installiert.

Wenn ich mir die Datei aufrufe habe ich folgende Zeile (625) vorliegen:

<?php ob_start();?>/themes/Frontend/Responsive/frontend/_public/src/img/no-picture.jpg<?php $_tmp14=ob_get_clean();?><?php ob_start();?><?php $_tmp15=ob_get_clean();?><?php ob_start();?><?php echo floor($_tmp15);?>

Gruß
Jürgen

Direkt nach dem Umstellen einer PHP Version muss alles, was an Cache vorhanden ist, gelöscht werden. Ist das geschehen? Am besten alle production_ Ordner in /var/cache per ftp oder console im Dateisystem löschen.

Habe nur einen Ordner vorliegen diese habe ich umbenannt so das ein neuer Ordner erstellt wurde.
Somit müssten doch alle alten Daten weg sein oder?

Wenn Shopware danach den Ordner neu anlegt, war es der richtige :wink:

Ich habe gestern unseren Katalog-Shop „gecloned“, um de neu zu befüllen und kann den als Testshop betreiben.
Gerade habe ich den von 8.0.x auf 8.1.16 umgestellt - ohne cache leeren etc. Frontend läuft auf den ersten Blick ohne Probleme.

Müsste man schon mehr wissen, welche Seite im Shop wirft wann wo den Fehler. Das ist ja auch nur der Shopware-Log. Um genauer was sagen zu können, wäre ggf. auch ein Blick in den Server/PHP-Error-Log interessant :slight_smile:

starte zur Sicherheit den php-prozess neu, nachdem du den Ordner var/vache/prod… entfernt hast (erst umbennen mit mv und diesen dann löschen)

Läuft er denn unter php 8.0.x ?

Hallo Sonic,

wenn ich auf die Neue Version umstelle läuft der Shop erst einmal,
Soald ich aber den Chache leere dann bekomme ich direkt auf der Startseite schon die Fehler meldung

Hallo hth,

was meinst Du mit php-prozess neu starten.
ich habe zuerst den Chache geleert, dann auf die neue PHP Version umgestellt, dann den Chache im Shop nochmals geleert…

Gruß
Jürgen