Update-Fehler von 6.4.20.2 auf 6.5

Hallo,

vielleicht kann mir jemand von euch helfen?!

Ich versuche ein Update von Shopware Version 6.4.20.2 auf 6.5.0.0 oder höher. Leider bekomme ich immer wieder die gleichen Fehler. Ich teste es auf einem frisch installierten Server Ubuntu 22.04 LTS mit Plesk. Die Shopware 6.4.20.2 Installation ist komplett neu installiert und alle Plugins sind deaktivert.

Update per Administration (Backend) führt zu einem sofortig 404 Fehler, Weiterleitung.
Update per Update per Browser mit /shopware-installer.phar.php führt zu mehreren Fehlern, z.B.:

Warning: Failed to load plugins. Message: An exception occurred in the driver: SQLSTATE[HY000] [1698] Access denied for user ‚root‘@‚localhost‘
08:41:11 CRITICAL [console] Error thrown while running command „system:update:finish --no-interaction“. Message: „An exception occurred in the driver: SQLSTATE[HY000] [1698] Access denied for user ‚root‘@‚localhost‘“
exception" => Doctrine\DBAL\Exception\DriverException {
#message: „An exception occurred in the driver: SQLSTATE[HY000] [1698] Access denied for user ‚root‘@‚localhost‘“
#code: 1698
#file: „/var/www/vhosts/mydomain.com/shopware/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php“
[

SQLSTATE[HY000] [1698] Access denied for user ‚root‘@‚localhost‘

Da stimmen wohl die Zugangsdaten für die Datenbank nicht.

Viele Grüße

Danke für deine Antwort.

Die Installation von Shopware 6.4.20.2 läuft allerdings vorher ohne Probleme. Auch in der .env Datei sind die passenden Zugangsdaten eingetragen: DATABASE_URL=mysql://db_user:password@localhost:3306/db_shop .

Sobald der Installer startet führt es zu diesem oben beschrieben Fehler und nutzt auf einmal anstatt des „db_user“ , „root“ als Benutzer. Nach der Fehlgeschlagenen Installation steht in der .env Datei: DATABASE_URL=mysql://root:root@localhost/shopware

Shopware verwendet ab 6.5 die .env.local Datei - sonst kontrolliere dort mal Benutzer/Kennwort sowie den Datenbank-Namen.

Leider wird diese Datei erst gar nicht erstellt, da der Installer vermutlich vorher abbricht.

Eine komplette Neuinstallation von Shopware 6.5. auf dem Server läuft übrigens ohne Probleme. Probleme mach nur das Upgrade, egal ob ich eine bestehende 6.4.20.2 Installation oder eine frische Installation von 6.4.20.2 auf 6.5.0 updaten will.

Vorgehensweise bei Update:
Ich lade die „shopware-installer.phar.php“ Datei in den Ordner /public und rufe über den Webbrowser die Datei auf.

Hm, vielleicht ein Bug in der 6.4.20.2 ?

Sonst schau Dir mal die .env.local der frischen Installation an. Diese (angepasst) in das Installationsverzeichnis der 6.4.20.2 kopieren und https://deineshopdomain.de/recovery/update nochmal aufrufen - vielleicht wird das Update so dann abgeschlossen.

shopware-installer.phar.php gehört eine Ebene höher - vor dem Update in Plesk unter Hosting-Einstellungen den Pfad von httpdocs/public auf httpdocs ändern.

Danach https://deineshopdomain.de/shopware-installer.phar.php aufrufen.

Wurde das Update heruntergeladen, vor dem eigentlichen Update auf httpdocs/public zurücksetzen (es sei denn, Dein Shop läuft tatsächlich unter /public)

Das habe ich jetzt gemacht. Jetzt kommt folgende Fehlermeldung:


Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update `.
- Required package "shopware/administration" is in the lock file as "6.4.20.2" but that does not satisfy your constraint "6.5.2.1".
- Required package "shopware/core" is in the lock file as "6.4.20.2" but that does not satisfy your constraint "6.5.2.1".
- Required package "shopware/elasticsearch" is in the lock file as "6.4.20.2" but that does not satisfy your constraint "6.5.2.1".
- Required package "shopware/storefront" is in the lock file as "6.4.20.2" but that does not satisfy your constraint "6.5.2.1".
This usually happens when composer files are incorrectly merged or the composer.json file is manually edited.
Read more about correctly resolving merge conflicts https://getcomposer.org/doc/articles/resolving-merge-conflicts.md
and prefer using the "require" command over editing the composer.json file directly https://getcomposer.org/doc/03-cli.md#require-r

Lösche mal die composer.lock Datei und versuche es erneut.

Das hat geklappt. Der Installer lief weiter. In der Auswahl habe ich 6.5.2.1 ausgewählt. Der Download startet und es folgt ein Symfony Exception mit folgenden Fehler:

Could not connect to database. Message from SQL Server: An exception occurred in the driver: SQLSTATE[HY000] [1698] Access denied for user '******'@'localhost'

HttpKernel->handle()

Ich konnte vorher gar nicht mehr den Hosting-Pfad auf /public zurück ändern.

Jetzt stimmen wieder die Datenbank-Zugangsdaten nicht :frowning:

Genau das ist mein Problem. Habe sogar schon zwei andere Server (gleiche Konstellation) getestet. Gleiches Problem. Verstehe nur nicht mehr woran es noch liegen könnte. Ist das evtl. ein Bug in SW?

Wenn ich das Upgrade noch mal starte und SW 6.5.1.0 auswähle, folgt:

Script assets:install returned with error code 255
!!  Warning: Failed to load plugins. Message: An exception occurred in the driver: SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
!!  PHP Fatal error:  Uncaught Error: Class "Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle" not found in /var/www/vhosts/meine-shopdomain.de/shopware/vendor/shopware/core/Kernel.php:97

Auch wieder DB Zugangsdaten. Evtl. ein Bug in der 6.4.20.2 …

Ich verstehe nur nicht, das es bei anderen zu klappen scheint. Es wird ja mehrere geben, die auf SW 6.5 von 6.4.20.2 updaten oder?

Ich hatte das Problem nicht, allerdings von 6.4.20.1 auf 6.5 aktualisiert. Was da schief läuft, ist aus der Ferne schwer zu beurteilen - es wird ja immer nur auf falsche DB Parameter verwiesen.

Kann es evtl. mit der MariaDB 10.6.12 von Plesk zusammenhängen?

Ich denke nicht - es kommt ja sofort zur Fehlermeldung (keine Berechtigung) - also bevor überhaupt Änderungen an der Datenbank vorgenommen werden.

Die Frage ist auch warum bei jedem Update Versuch / Abbruch immer in der .env Datei der Eintrag auf DATABASE_URL=mysql://root:root@localhost/shopware geändert wird.

Gerade weiß ich nicht mehr weiter… Danke dir auf jeden Fall für deine Hilfe!

Ergänzung: Ich habe gerade noch mal probiert das Update von 6.4.20.1 auf 6.4.20.2 via Browser durchzuführen. Gleicher Fehler. Updates von 6.4.20.1 auf 6.4.20.2 via Administrator liefen immer sauber durch.

Update von 6.4.20.1 auf 6.4.20.2 via Administrator führt jetzt komischerweise auch zu einem Fehler. Weiterleitung an: https://meine-shopwaredomain.de/recovery/update/index.php
PHP8.2 wird verwendet.

Schon mal probiert, das Update per Konsole durchzuführen? Hab schon öfter mitbekommen, dass es dort besser funktioniert.

Kurze Anleitung dazu findest du hier: