Seltsamer Fehler bei Umstellung einer 5.2.6 auf PHP7

Hallo zusammen,

ich habe einen seltsamen Fehler nach der Umstellung einer Shopware 5.2.6 Installation von PHP 5.6.30 auf PHP 7.0.8. Im Frontend sieht alles soweit ok aus. Wenn ich im Backend das Theme neu kompilieren lasse bleibt er ewig hängen. Den Cache habe ich auch im Dateisystem vorher gelöscht. Das neue Verzeichnis /cache/production… wird angelegt und alles funktioniert. Die Änderungen an den Templates werden jedoch nicht übernommen. Es sieht für mich so aus, wie wenn der „alte“ Zustand wieder hergestellt wird.

Folgende Fehlermeldung steht im Shopware Log:

[2017-11-16 17:09:16] core.ERROR: Less_Exception_Compiler: Operation on an invalid type in /var/www/clients/client3/web4/web/testshop/vendor/oyejorge/less.php/lib/Less/Tree/Operation.php:45 Stack trace: 
#0 /var/www/clients/client3/web4/web/testshop/vendor/oyejorge/less.php/lib/Less/Tree/Expression.php(52): Less_Tree_Operation->compile(Object(Less_Environment)) 
#1 /var/www/clients/client3/web4/web/testshop/vendor/oyejorge/less.php/lib/Less/Tree/Value.php(27): Less_Tree_Expression->compile(Object(Less_Environment)) 
#2 /var/www/clients/client3/web4/web/testshop/vendor/oyejorge/less.php/lib/Less/Tree/Rule.php(75): Less_Tree_Value->compile(Object(Less_Environment)) 
#3 /var/www/clients/client3/web4/web/testshop/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(94): Less_Tree_Rule->compile(Object(Less_Environment)) 
#4 /var/www/clients/client3/web4/web/testshop/vendor/oyejorge/less.php/lib/Less/Parser.php(198): Less_Tree_Ruleset->compile(Object(Less_Environment)) 
#5 /var/www/clients/client3/web4/web/testshop/engine/Shopware/Components/Theme/LessCompiler/Oyejorge.php(93): Less_Parser->getCss() 
#6 /var/www/clients/client3/web4/web/testshop/engine/Shopware/Components/Theme/Compiler.php(212): Shopware\Components\Theme\LessCompiler\Oyejorge->get() 
#7 /var/www/clients/client3/web4/web/testshop/engine/Shopware/Controllers/Backend/Cache.php(175): Shopware\Components\Theme\Compiler->compileLess('new', Object(Shopware\Models\Shop\Template), Object(Shopware\Models\Shop\Shop)) 
#8 /var/www/clients/client3/web4/web/testshop/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_Cache->themeCacheWarmUpAction() 
#9 /var/www/clients/client3/web4/web/testshop/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('themeCacheWarmU...') 
#10 /var/www/clients/client3/web4/web/testshop/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) 
#11 /var/www/clients/client3/web4/web/testshop/engine/Shopware/Kernel.php(176): Enlight_Controller_Front->dispatch() 
#12 /var/www/clients/client3/web4/web/testshop/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Enlight_Controller_Request_RequestHttp), 1, true) 
#13 /var/www/clients/client3/web4/web/testshop/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) 
#14 /var/www/clients/client3/web4/web/testshop/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) 
#15 /var/www/clients/client3/web4/web/testshop/engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) 
#16 /var/www/clients/client3/web4/web/testshop/shopware.php(101): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) 
#17 {main} [] {"uid":"960bc28"}

Sieht für mich so aus, wie wenn bei der Less-Kompilierung etwas schief geht. Habe das Theme mal auf bare gestellt und kompilert, das gleiche Ergebnis. Ich dachte da gibt es kein Less. 

Hab auch in meinem Theme und im resposive Theme jeweils in all.less alles auskommentiert. Auch kene Änderung.

Hm…  Blush, nun stehe ich auf dem Schlauch. Was könnte denn das sein?

Grüße
sunflower  

 

Möglicherweise fehlt die eine oder andere Einstellung in PHP 7.0.8

Frag mal den Hoster, ob dieselben Einstellungen/Installationen die vorher auf 5.2.6 waren auch auf 7.0.8 gelten, bzw. eingestellt sind. Insbesondere auch die PHP-Optionen.

Zusätzlich hilft es auch noch den web/cache auch zu löschen und den cache und die cookies vom browser.

Danke für die Hinweise. Es laufen bereits mehrere Shops mit dieser Konfiguration problemlos unter PHP7.

Caches und Cookies habe ich alle geplättet.

Trotzdem nix  Foot-in-Mouth

Habs gefunden Smile. War tatsächlich ein kostenpflichtiges Plugin das rumgezickt hat.