Nach Update 5.1 auf 5.2: HTTPCache im Backend erzeugt Fehler Could not convert database value

Nach erfolgreichem :slight_smile: Update von 5.1.6 auf 5.2.8 erzeugt der Aufruf im Backend EINSTELLUNGEN > GRUNDEINSTELLUNGEN > Frontend Cache (HTTP Cache) untenstehenden Fehler, kann mir jemand einen Tipp geben, wie ich diesen wieder zum Laufen bekomme? Dankeschön im Voraus.

 

[2016-10-07 09:04:21] core.ERROR: exception 'Doctrine\DBAL\Types\ConversionException' with message 'Could not convert database value "s:312:"frontend/list..." to Doctrine Type object' in /var/www/clients/client367/web1054/web/neu/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php:46 Stack trace: #0 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php(59): Doctrine\DBAL\Types\ConversionException::conversionFailed('s:312:"frontend...', 'object') #1 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(297): Doctrine\DBAL\Types\ObjectType->convertToPHPValue('s:312:"frontend...', Object(Doctrine\DBAL\Platforms\MySqlPlatform)) #2 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/ArrayHydrator.php(101): Doctrine\ORM\Internal\Hydration\AbstractHydrator->gatherRowData(Array, Array, Array) #3 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/ArrayHydrator.php(87): Doctrine\ORM\Internal\Hydration\ArrayHydrator->hydrateRowData(Array, Array) #4 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(147): Doctrine\ORM\Internal\Hydration\ArrayHydrator->hydrateAllData() #5 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(978): Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(Object(PDOStatement), Object(Doctrine\ORM\Query\ResultSetMapping), Array) #6 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(924): Doctrine\ORM\AbstractQuery->executeIgnoreQueryCache(NULL, 2) #7 /var/www/clients/client367/web1054/web/neu/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(766): Doctrine\ORM\AbstractQuery->execute(NULL, 2) #8 /var/www/clients/client367/web1054/web/neu/engine/Shopware/Controllers/Backend/Config.php(133): Doctrine\ORM\AbstractQuery->getOneOrNullResult(2) #9 [internal function]: Shopware_Controllers_Backend_Config->getFormAction() #10 /var/www/clients/client367/web1054/web/neu/var/cache/production_201610051330/proxies/ShopwareControllersBackendConfigProxy.php(6): call_user_func_array(Array, Array) #11 /var/www/clients/client367/web1054/web/neu/engine/Library/Enlight/Hook/HookManager.php(187): Shopware_Proxies_ShopwareControllersBackendConfigProxy->executeParent('getFormAction', Array) #12 /var/www/clients/client367/web1054/web/neu/var/cache/production_201610051330/proxies/ShopwareControllersBackendConfigProxy.php(18): Enlight_Hook_HookManager->executeHooks(Object(Shopware_Proxies_ShopwareControllersBackendConfigProxy), 'getFormAction', Array) #13 /var/www/clients/client367/web1054/web/neu/engine/Library/Enlight/Controller/Action.php(159): Shopware_Proxies_ShopwareControllersBackendConfigProxy->getFormAction() #14 /var/www/clients/client367/web1054/web/neu/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('getFormAction') #15 /var/www/clients/client367/web1054/web/neu/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #16 /var/www/clients/client367/web1054/web/neu/engine/Shopware/Kernel.php(177): Enlight_Controller_Front->dispatch() #17 /var/www/clients/client367/web1054/web/neu/vendor/symfony/http-kernel/HttpCache/HttpCache.php(487): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #18 /var/www/clients/client367/web1054/web/neu/engine/Shopware/Components/HttpCache/AppCache.php(255): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #19 /var/www/clients/client367/web1054/web/neu/vendor/symfony/http-kernel/HttpCache/HttpCache.php(258): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #20 /var/www/clients/client367/web1054/web/neu/engine/Shopware/Components/HttpCache/AppCache.php(103): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #21 /var/www/clients/client367/web1054/web/neu/shopware.php(113): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #22 {main} [] {"uid":"08d00d3"}

 

Hallo,

Das Verhalten wird vermutlich durch einen fehlerhaften Eintrag in der s_core_config_elements oder s_core_config_values ausgelöst.
Diese Einträge solltest du grundlegend in der Datenbank einmal überprüfen und mit diesem Query ggfs. korrigieren.
UPDATE s_core_config_elements SET value = CONCAT(value, ‘;’) WHERE value NOT LIKE “%;”;
UPDATE s_core_config_values SET value = CONCAT(value, ‘;’) WHERE value NOT LIKE “%;”;
Wir empfehlen vor allen Änderungen in der Datenbank ein Backup zu machen und anschließend die Funktion des Systems zu prüfen.

Viele Grüße aus Schöppingen
Janine Overhaus-Kocan

Liebe Janine,

vielen Dank für den Tipp - diesen hatte ich jedoch schon einmal hier im Forum gefunden und es ist schwer, die beiden Spalten komplett zu prüfen - gibt es hier gglfs. ein How-To um den Fehler näher einzukreisen? Ich hatte auch einen Thread gefunden, bei die Reinstallation des HTTPCache angesprochen wurde - kann/mag das ein Lösungsweg sein? Wenn ja, wie komme ich dazu, dieses Core-Plugin zu reinstallieren? 

Lieben Dank für Ihre Hilfe,
ein großer Shopware-Fan :slight_smile:

Hallo,

Mit den gegebenen Querys werden die Spalten allgemein korrigiert.

Es wird hier direkt ein Update ausgeführt auf die Spalten, welche sowas auslösen können.

Ansonsten kannst du auch speziell einmal danach suchen, in welchem Feld das genannte value vorkommt. Hierzu prüfst du über ein Like die beiden Tabellen ab:

Select * from s_core_config_elements where value like ‘%s:312:%’;

Select * from s_core_config_values where value like ‘%s:312:%’;

Die Einträge dort müssen immer auf ein ; enden damit Sie erkannt werden.

Zum Neuinstallieren des HTTP-Cache Plugins muss die bootstrap.php angepasst werden, so dass getCapabilities auf true steht.

Die Stelle hierfür kannst du hier auf GitHub erkennen: shopware/Bootstrap.php at 5.1 · shopware/shopware · GitHub

Viele Grüße aus Schöppingen
Janine Overhaus-Kocan

 

Also generell war das Problem schon an dieser Stelle - aber ich habe den Cache trotz allen Versuchen nichtmehr zum Laufen gebracht und bin auf ein Restore zurück.