Shopware 6 Update bricht ab und bleibt im Wartungsmodus

Problem

Du hast im Admin Bereich versucht ein Update auf zu installieren. Irgendwie wurde das Update aber nicht abgeschlossen und der Shop bleibt im Wartungsmodus. Wie kommst du den da wieder raus?

Wenn du http(s)://www.mein-shop.de/recovery/update/index.php aufrufst und folgende Fehlermeldung erhältst:

{"code":0,"message":"The file files\/backup\/auto_update\/dummy already exists and can not be overwritten.","file":"\/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/knplabs\/gaufrette\/src\/Gaufrette\/Filesystem.php","line":100,"trace":"#0 \/home\/sw\/production\/vendor\/shopware\/recovery\/Update\/src\/Steps\/UnpackStep.php(66): Gaufrette\\Filesystem->write('files\/backup\/au...', 'dummyfile')\n#1 \/home\/sw\/production\/vendor\/shopware\/recovery\/Update\/src\/Controller\/BatchController.php(90): Shopware\\Recovery\\Update\\Steps\\UnpackStep->run(0, 0)\n#2 \/home\/sw\/production\/vendor\/shopware\/recovery\/Update\/src\/app.php(91): Shopware\\Recovery\\Update\\Controller\\BatchController->unpack(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#3 [internal function]: Closure->{closure}(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response), Array)\n#4 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/Handlers\/Strategies\/RequestResponse.php(40): call_user_func(Object(Closure), Object(Slim\\Http\\Request), Object(Slim\\Http\\Response), Array)\n#5 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/Route.php(281): Slim\\Handlers\\Strategies\\RequestResponse->__invoke(Object(Closure), Object(Slim\\Http\\Request), Object(Slim\\Http\\Response), Array)\n#6 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/MiddlewareAwareTrait.php(117): Slim\\Route->__invoke(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#7 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/Route.php(268): Slim\\Route->callMiddlewareStack(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#8 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/App.php(503): Slim\\Route->run(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#9 \/home\/sw\/production\/vendor\/shopware\/recovery\/Update\/src\/app.php(66): Slim\\App->__invoke(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#10 [internal function]: Closure->{closure}(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response), Object(Slim\\App))\n#11 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)\n#12 [internal function]: Slim\\DeferredCallable->__invoke(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response), Object(Slim\\App))\n#13 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\\DeferredCallable), Object(Slim\\Http\\Request), Object(Slim\\Http\\Response), Object(Slim\\App))\n#14 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/MiddlewareAwareTrait.php(117): Slim\\App->Slim\\{closure}(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#15 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/App.php(392): Slim\\App->callMiddlewareStack(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#16 \/home\/sw\/production\/vendor\/shopware\/recovery\/Common\/vendor\/slim\/slim\/Slim\/App.php(297): Slim\\App->process(Object(Slim\\Http\\Request), Object(Slim\\Http\\Response))\n#17 \/home\/sw\/production\/vendor\/shopware\/recovery\/Update\/index.php(36): Slim\\App->run()\n#18 \/home\/sw\/production\/public\/recovery\/update\/index.php(6): require_once('\/home\/hepcoshop...')\n#19 {main}"}

Lösung

Die Daten im Ordner SW_ROOT/files/backup/auto_update/dummy löschen, und die Recovery URL (http(s)://www.mein-shop.de/recovery/update/index.php) erneut aufzurufen. Danach sollte das Update durchlaufen.

Teile den Beitrag mit Freunden.