503 bei Erstellung von Varianten

Wir haben gerdae den ersten Demoshop aufgesetzt und bekommen einen 503 Service unavailable, sobald wir eine Variante erzeugen wollen.

Das Logfile sieht wie folgt aus:

[Wed Dec 28 15:38:14.661973 2016] [php7:error] [pid 2052:tid 140501718128384] [client 193.189.114.13:64478] PHP Fatal error: Uncaught Error: [] operator not supported for strings in /usr/local/app/apache2.4.25/htdocs/engine/Shopware/Controllers/Backend/Article.php:2452\nStack trace:\n#0 /usr/local/app/apache2.4.25/htdocs/engine/Shopware/Controllers/Backend/Article.php(2328): Shopware_Controllers_Backend_Article->prepareVariantData(Array, Array, 0, Array, Array, Array, Array, Object(Shopware\\Models\\Article\\Article), 1)\n#1 /usr/local/app/apache2.4.25/htdocs/engine/Library/Enlight/Controller/Action.php(159): Shopware_Controllers_Backend_Article->createConfiguratorVariantsAction()\n#2 /usr/local/app/apache2.4.25/htdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php(523): Enlight_Controller_Action->dispatch('createConfigura...')\n#3 /usr/local/app/apache2.4.25/htdocs/engine/Library/Enlight/Controller/Front.php(223): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))\n#4 /usr/local/app/apache2.4.25/htdocs/engine/Shopware/Kernel.php(178): E in /usr/local/app/apache2.4.25/htdocs/engine/Shopware/Controllers/Backend/Article.php on line 2452, referer: http://10.10.1.174/backend/

Die Lösung für uns war die folgende Änderung in engine/Shopware/Controllers/Backend/Article.php:

  • $name = $variant[‘o’ . $id . ‘Name’];
  • $name = $variant[‘o’ . $id . ‘Name’];

Vielleicht hilft es jemandem.

Andere Lösungen/Patch würden uns freuen.

 

Dann sind die Systemvorraussetzungen für Shopware nicht erfüllt und die PHP-Version ist zu niedrig!

Mit diesem “Fix” hast du grundlegende Funktionen bei der Variantenerzeugung und unvorhersehbare negative Konsequenzen erzeugt.

Statt  einem Array existiert hier nun nur noch eine Variable. Das kann nicht gut gehen.