Shopware 6.5 konnte nicht aktualisiert werden

Hallo Zusammen,

ich habe auf einem Testsystem die SW6.4.0.2 installiert ohne PlugIns oder Erweiertungen, einfach eine standart Installation. Soweit so gut…

PHP 8.1 und alle weiteren Systemvorraussetzunge werden laut Updater erfüllt.

Dann aktiviere ich das Update auf die SW6.5 aus dem Backend und bekommen leider immer nur einen Abbruch mit folgender Fehletmeldung:
NUR EIN AUSZUG

Update of composer/composer failed

In Platform.php line 151:

[TypeError]
stripos(): Argument #1 ($haystack) must be of type string, bool given

Exception trace:
at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Util/Platform.php:151
stripos() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Util/Platform.php:151
Composer\Util\Platform::isWindowsSubsystemForLinux() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php:97
Composer\Installer\BinaryInstaller->installBinaries() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php:189
Composer\Installer\LibraryInstaller::Composer\Installer{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/FulfilledPromise.php:28
React\Promise\FulfilledPromise->then() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:134
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:168
React\Promise\Promise->settle() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:231
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/FulfilledPromise.php:42
React\Promise\FulfilledPromise->done() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:66
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:168
React\Promise\Promise->settle() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:231
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/FulfilledPromise.php:42
React\Promise\FulfilledPromise->done() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:66
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:168
React\Promise\Promise->settle() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:231
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/FulfilledPromise.php:42
React\Promise\FulfilledPromise->done() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:135
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:168
React\Promise\Promise->settle() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:231
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/FulfilledPromise.php:42
React\Promise\FulfilledPromise->done() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:135
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:168
React\Promise\Promise->settle() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:231
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/FulfilledPromise.php:42
React\Promise\FulfilledPromise->done() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:135
React\Promise\Promise::React\Promise{closure}() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:168
React\Promise\Promise->settle() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/react/promise/src/Promise.php:231
React\Promise\Promise::React\Promise{closure}() at n/a:n/a
call_user_func() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php:327
Composer\Util\ProcessExecutor->countActiveJobs() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Util/Loop.php:91
Composer\Util\Loop->wait() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer/InstallationManager.php:430
Composer\Installer\InstallationManager->waitOnPromises() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer/InstallationManager.php:405
Composer\Installer\InstallationManager->executeBatch() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer/InstallationManager.php:319
Composer\Installer\InstallationManager->downloadAndExecuteBatch() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer/InstallationManager.php:218
Composer\Installer\InstallationManager->execute() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer.php:797
Composer\Installer->doInstall() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer.php:622
Composer\Installer->doUpdate() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Installer.php:287
Composer\Installer->run() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Command/UpdateCommand.php:247
Composer\Command\UpdateCommand->execute() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/symfony/console/Command/Command.php:312
Symfony\Component\Console\Command\Command->run() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/symfony/console/Application.php:1022
Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/symfony/console/Application.php:314
Symfony\Component\Console\Application->doRun() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Console/Application.php:377
Composer\Console\Application->doRun() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/symfony/console/Application.php:168
Symfony\Component\Console\Application->run() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/src/Composer/Console/Application.php:141
Composer\Console\Application->run() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/composer/composer/bin/composer:89
include() at phar:///var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php/vendor/bin/composer:120
require() at /var/www/clients/client1/web2/web/shopware6/public/shopware-installer.phar.php:39

update [–with WITH] [–prefer-source] [–prefer-dist] [–prefer-install PREFER-INSTALL] [–dry-run] [–dev] [–no-dev] [–lock] [–no-install] [–no-audit] [–audit-format AUDIT-FORMAT] [–no-autoloader] [–no-suggest] [–no-progress] [-w|–with-dependencies] [-W|–with-all-dependencies] [-v|vv|vvv|–verbose] [-o|–optimize-autoloader] [-a|–classmap-authoritative] [–apcu-autoloader] [–apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [–ignore-platform-req IGNORE-PLATFORM-REQ] [–ignore-platform-reqs] [–prefer-stable] [–prefer-lowest] [-i|–interactive] [–root-reqs] [–] […]

Hat eventuell jemand das gleiche Problem? Oder sogar eine Lösung?

VG
THWHome

Neuinstallation und alles neu bauen - muss ich auch machen der Fehler geht wohl nicht zu lösen um anderes noch mehr zu zerstören. Habe sogar schon mit 2 Shopware Anbietern die auch Technikhilfe leisten gesprochen. Aber so hast du eine saubere neue Installation. Auch Der Import von Daten aus dem anderen Shop geht dann auch nicht.

viel Erfolg beim Neubau - das Update ist einfach zu gross - wusste es schon vor nem halben Jahr das es kein kleines Problem werden wird.

Hallo,

ich kann ja nur von 6.4.0.2 auf die 6.5 updaten.

Es gibt ja kein 6.5 Installerpakett bei Shopware zum downloaden.

Oder wie machst Du das genau?

VG

klar gibt es das. das Sicherheitspaket habe ich auch aber danach zerstört es meine Datenbank nur Fehlermeldungen. Wenn ich ne neue Installation mache auf neuer Ebene geht es.Ist keine Zip Datei mehr - aber bei ner cleanen Version spielt er alles durch

Hallo,

ich bekomme ja nur die shopware-installer.phar(.php) zu download angeboten?

VG

ja damit installiert man es zieht alles ausm Netz dann

Hallo,

wenn ich die Datei aufrufe bekomme ich eine Fehlermeldung

nginx
404 Not Found beispieldomian_de
https://beispieldomian_de/shopware-installer.phar.php

VG

Während der Installation / Download darf das Einstiegsverzeichnis nicht auf /public zeigen. Nach erfolgtem Download fordert Dich dann vor der eigentlichen Installation der Installer auf, nun in Deinem Hosting-Panel auf /public umzustellen.

Viele Grüße

Hallo,

danke für die Infos.
ich glaube, das dass bei dem Timmeserver aktuell nicht geht.

Mein erzeugter VHost bei Timme hat folgenden Einträge und die kann ich nicht anpassen.

VG

Hallo,

hast Du vielleicht noch eine Idee zu dem Problem?

VG

Kenne die Umgebung bei Timme leider nicht - evtl. einfach dort mal nachfragen.

Moin, ich konnte diese Info wirklich nirgendwo finden. Habe es ausprobiert und bekomme ein Problem mit dem File download.
In den Update Guides steht explizit das es ins public Verzeichnis soll…

Die Dokumentation ist in dem Fall nicht korrekt, beziehungsweise wird da ein Schritt ausgelassen. Der Installer macht nichts anderes als die Installationsdateien herunterzuladen, die früher direkt in der ZIP-Datei waren.

Im Plesk Panel ist es wie von @SCOOPEX beschrieben, dass man erst den Installer ausführt und dann das Stammverzeichnis auf: dein-ordner/public umstellt. In der Doku gibt es am Anfang eine Apache routing Regel für den public Ordner. Diese Regel sollte ebenso erst nach dem Download der Installationsdateien hinzugefügt werden. Man könnte die Dateien nach dem Download aber auch einfach in den jeweiligen Ordner schieben.

@Michael_Telgmann schön wäre es, wenn der Installer automatisch erkennt, dass er im public Ordner liegt und versucht die Installationsdateien einen Ordner darüber zu installieren. Vielleicht mit einer Abfrage, falls jemand tatsächlich seinen Hauptordner Public nennt. Oder noch besser, gleich eine Möglichkeit das per SSH zu installieren.

VG Rico von enerspace.de

1 Like

Den Installer wird es nicht als gesondert via SSH geben, weil man einfach composer update / composer create-project machen kann was das selbe in etwa tut. (Was man auch bevorzugen sollte, anstatt den Installer zu verwenden)

Wir haben gerade noch einen Bug gefixxt das der Installer nicht Shopware gefunden hat wenn es in einem symlink liegt. Wir haben den Installationsworkflow bewusst versucht simpel zu halten, wir können schlecht in den Parent ordner schreiben weil wir nicht wissen was dort alles sein könnte und es wegen open_basedir klappt usw alles.

Hallo @shyim,

Kann man ja alles PHP seitig prüfen und auch eine gesonderte Abfrage einbauen: Wir haben das und das festgestellt, sollen wir es dahin installieren? Ist wirklich kein großer Aufwand. Offensichtlich haben aber einige Leute (einschließlich unserer Kunden) massive Problem den neuen Installationsprozess zu verstehen da die Dokumentation Lücken aufweist. Zum Beispiel, fehlt auf der offiziellen Seite komplett der Weg wie man Shopware 6.5 über Composer Installiert. Kann sein dass das wo anders steht, wäre da aber besser aufgehoben.

Ich persönlich empfinde den Installer keines Wegs simple. Er erhöht unseren Workflow enorm. Vor allem den Support gegenüber den Kunden, die keine Ahnung haben, wie man Shopware über Composer installiert.

VG Rico