[gelöst] Update von 5.5.10 auf 5.6.x schlägt bei Datenbankmigration fehl... Fehler in config.php?

Hallo, dies ist mein letzter Versuch, meinen Shop upzudaten.

Bis 5.5.10 hatte ich keine Probleme, aber der Schritt zu 5.6.0 oder auch 5.6.10 will einfach nicht funktionieren. :cry:

Ich habe das manuelle Update via zip-Datei gewählt Meine php-Version ist 7.4.33, ich habe aber auch 8.0.27 probiert - mit demselben Ergebnis:

Der erste Schritt des Updates läuft durch - aber erst nachdem ich die deprecated Funktion get_magic_quotes_gpc() in /test/recovery/common/vendor/slim/slim/Slim/Http/Util.php (#60) durch false ersetzt habe (sonst erhalte ich da einen Slim Application Error), also:

$strip = is_null($overrideStripSlashes) ? false : $overrideStripSlashes;

Aber bei der nachfolgenden Datenbank Migration läuft der Updater in den folgenden Fehler:

Fatal error:  Uncaught Error: Using $this when not in object context in /var/www/vhosts/superfein.de/test/config.php:14
Stack trace:
#0 /var/www/vhosts/superfein.de/test/recovery/update/src/Utils.php(192): require()
#1 /var/www/vhosts/superfein.de/test/recovery/update/src/DependencyInjection/Container.php(60): Shopware\\Recovery\\Update\\Utils::getConnection()
#2 /var/www/vhosts/superfein.de/test/recovery/common/vendor/pimple/pimple/src/Pimple/Container.php(118): Shopware\\Recovery\\Update\\DependencyInjection\\Container->Shopware\\Recovery\\Update\\DependencyInjection\\{closure}()
#3 /var/www/vhosts/superfein.de/test/recovery/common/src/DependencyInjection/Container.php(71): Pimple\\Container->offsetGet()
...

Meine config.php sieht wie folgt aus:

<?php return [
    'db' => [
        'host' => 'localhost',
        'port' => '3306',
        'username' => '*********',
        'password' => '********************',
        'dbname' => '**********',
    ],

    'mpdf' => [
        'defaultConfig' => [
            'fontDir' => [
                // the default font dir - leave this for use of standard fonts such as Arial etc.
                $this->DocPath('engine_Library_Mpdf_ttfonts_'),
                // your custom font dir
                $this->DocPath('themes_Frontend_Superfein_documents_ttfonts_'),
            ],
            // define the relation between font name in CSS, e.g. 'opensans' and the associated TTF files
            'fontdata' => [
                'roboto' => [
                    'R' => 'roboto.ttf',
                    'B' => 'robotob.ttf',
                ],
            ],
        ],
    ],

    'front' => [
        'showException' => true,
        'noErrorHandler' => false,
    ],
 
    //Low-Level PHP-Fehler ab Shopware 5.2.0
    'phpsettings' => [
        'display_errors' => 1,
    ]
];

Mir ist unerklärlich, warum sich das System an dem DocPath zu den Schriftarten aufhängt - dieser ist 1:1 aus dem laufenden Shop kopiert.

Natürlich habe ich im Vorfeld eine Datenbankbereinigung entsprechend der Updateanweisungen durchgeführt. Fremde Plugins habe ich nicht im Shop. Vor dem Update habe ich auch noch einmal im Test-Backend alle Caches gelöscht.

Hat jemand noch eine Idee oder einen ähnlichen Fehler gelöst?

Nimm das mpdf während des Updates aus der config.php raus. Dann sollte das Update durchlaufen.

1 „Gefällt mir“

Merci, ich habe tatsächlich beim Aufschreiben denselben Gedanken gehabt und das Update lief gerade durch. Danach habe ich die config.php wieder ergänzt und die Schriftarten werden wieder wie gewohnt ins pdf übernommen.