Wer kennt diese Fehlermeldung :( (Totalausfall beim shop und backend)

{„errors“:[{„code“:„0“,„status“:„500“,„title“:„Internal Server Error“,„detail“:„Compile Error: Declaration of Shopware\Core\System\Currency\SalesChannel\CachedCurrencyRoute::load(Symfony\Component\HttpFoundation\Request $request, Shopware\Core\System\SalesChannel\SalesChannelContext $context, Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria $criteria): Shopware\Core\System\Currency\SalesChannel\CurrencyRouteResponse must be compatible with Shopware\Core\System\Currency\SalesChannel\AbstractCurrencyRoute::load(Symfony\Component\HttpFoundation\Request $request, Shopware\Core\System\SalesChannel\SalesChannelContext $context): Shopware\Core\System\Currency\SalesChannel\CurrencyRouteResponse“}]}

nach einem Misslungenen updateversuch auf 6.4 wurde serverseitig der webspace und die Datenbank aus backup eingespielt, danach im Backend eingeloggt, beim versuch plugins zu deaktivieren auf einmal rausgeflogen, danach beim loginversuch backend nur noch dieser Fehler, frontend nur noch error 500…

etwas am verzweifeln gerade… Zugriff auf webspace (host Europe) und Datenbank habe ich…

shop.rappenglitz.de

bzw

shop.rappenglitz.de/admin

Liest sich eher so, als sei das Backup unvollständig. Den Cache auch komplett nach dem Backup weggeworfen über FTP?

wie mache ich das?
habe jetzt mal den Ordner „shopware/var/cache“ geleert, keine Veränderung

Ich hatte ein ähnliches Problem, bei mir hatte das Einspielen das BackUp Probleme verursacht.

Ich habe die alle Daten (ftp und Datenbank neu eingespielt. Habe alle erforderlichen Daten neu eingegeben und dann kam der Fehler. Konnte ich nur mit dem Support beheben.

Prüfe ob alles korrekt ist, Dateiberechtigungen usw.).

Kommt darauf an wie man ein Backup einspielt. Einfach überschreiben (FTP Upload / Archiv entpacken) ist vermutlich schlecht, weil es nach dem Update evtl neue Dateien gibt.

Vorm Einspielen des Backups alle Dateien Bereinigen sollte helfen. Oder man installiert die ältere Shopware Version neu, zieht die Plugins, die Medien und die Datenbank dort rein. Bei neueren Updates generell 1-2 Wochen warten und es dann nochmal Probieren.

Ich konnte einen Shop so wieder zum laufen bringen:

bin/console cache:clear

Dies wirft Fehler genau in der Art wie von Jan.Ressel beschrieben.

Abhilfe: Bei den genannten Cached…-Klassen und Resolved…-Klassen jeweils das ‚extends Abstract…‘ entfernen damit der Compiler eben nicht mehr nach etwas sucht zum Vergleichen. Ich musste etwa 10 Klassen so anpassen, cache:clear informierte mich jeweils über das nächste Problem.

Anschliessend konnte das Cache wieder löschen mit folgendem Befehl:

php bin/console cache:clear --env=dev --no-optional-warmers

Das Admin-Portal lief noch nicht, dazu musste ich ein Plugin deaktivieren und wieder aktivieren:
bin/console plugin:deactivate SwagI18nFrench
bin/console plugin:activate SwagI18nFrench

Ehrlich gesagt weiss ich nicht, woher diese Cached…- und Resolved…-Klassen stammen (im Github Source Code sind sie nicht und einfaches Löschen hilft auch nicht). Daher würde ich meine Methode nicht als zuverlässig betrachten sondern ehrer als ‚Mit dem Hammer drauf schlagen bis es läuft‘.

Wenn jemand mehr weiss über die Cached-Klassen und warum es zu dem Problem nach dem Backup überhaupt kommt - ich wäre sehr daran interessiert.

Gruss
Adrian

Ein Update auf Shopware 6.4 hatte nicht geklappt und dann habe ich das serverseitige Backup eingespielt - dies läuft dann auch erstmal.

Wenn ich nun aber ein Plugin deaktiviere oder den Cache im Backend leere führt es zu dem oben genannten Fehler.

Wie kann ich das lösen?
@akuehnis Deinen Lösunng würde ich ja gerne probieren, jedoch kapiere ich den folgenden Teil nicht:

Abhilfe: Bei den genannten Cached…-Klassen und Resolved…-Klassen jeweils das ‚extends Abstract…‘ entfernen damit der Compiler eben nicht mehr nach etwas sucht zum Vergleichen. Ich musste etwa 10 Klassen so anpassen, cache:clear informierte mich jeweils über das nächste Problem.

…wo finde ich diese „Cached-Klassen“ um sie anzupassen?

Danke für jeden Tipp um endlich das Problem zu lösen.

@ShopwareRob, die Fehlermeldung selbst sagt es dir. Schau dir die von Jan.Ressel einkopierte Fehlermeldung an, da steht:
‚… Declaration of Shopare\Core\System\Curreny\SalesChannel\CachedCurrencyRoute::load(…) must be compatible with …‘

Diese Klasse findest du unter /vendor/shopware/core/…

Danke - hab mich nun auch durch eine nach der anderen Fehlermeldung durchgehangelt und alle Dateien korrigiert. Danach musste ich dann noch Korrekturen in der Datenbank vornehmen.

…sieht aber so aus, als ob es nun läuft. :slight_smile:

Hallo,

hab die Seuche ebenfalls nach einem fehlerhaften Update inkl. danach Einspielung Backup und „Cache leeren“

@akuehnis @ShopwareRob

Abhilfe: Bei den genannten Cached…-Klassen und Resolved…-Klassen jeweils das ‚extends Abstract…‘ entfernen damit der Compiler eben nicht mehr nach etwas sucht zum Vergleichen. Ich musste etwa 10 Klassen so anpassen, cache:clear informierte mich jeweils über das nächste Problem.

Wo das ist wurde gesagt und habe ich auch gefunden. Könntet ihr dies für einen voll Laien vllt. mal erklären welche Schritte gemacht werden müssen. Fur mich sind das nur iwelche .php Dateien… Wo ist da ein „extends Abstract“, wie öffne ich das bzw. lösche ich?

Bitte um Hilfe…:frowning:

Es gibt relativ weit oben in dieser PHP-Datei eine Zeile die beginnt mit ‚class xxxxx extends Abstract…‘.
Lösche vom Wort ‚extends‘ alles bis zum Zeilenende.

1 „Gefällt mir“

1 „Gefällt mir“

Folgene Dateien sind betroffen:

  • Shopware\Core\System\Currency\SalesChannel\CachedCurrencyRoute
  • Shopware\Core\System\Language\SalesChannel\CachedLanguageRoute
  • Shopware\Core\System\Salutation\SalesChannel\CachedSalutationRoute
  • Shopware\Core\System\Country\SalesChannel\CachedCountryRoute
  • Shopware\Core\Content\Category\SalesChannel\CachedNavigationRoute
  • Shopware\Core\Content\Product\SalesChannel\CrossSelling\CachedProductCrossSellingRoute
  • Shopware\Core\Content\Product\SalesChannel\Listing\CachedProductListingRoute
  • Shopware\Core\Content\Product\SalesChannel\Listing\ResolveCriteriaProductListingRoute
  • Shopware\Core\Content\Product\SalesChannel\Search\CachedProductSearchRoute
  • Shopware\Core\Content\Product\SalesChannel\Search\ResolvedCriteriaProductSearchRoute
  • Shopware\Core\Content\Product\SalesChannel\Suggest\CachedProductSuggestRoute
  • Shopware\Core\Checkout\Payment\SalesChannel\CachedPaymentMethodRoute
  • Shopware\Core\Checkout\Payment\SalesChannel\SortedPaymentMethodRoute
  • Shopware\Core\Checkout\Shipping\SalesChannel\CachedShippingMethodRoute

Ich habe die SW6.3 Produktivumgebung gespiegelt auf meine Entwicklungsumgebung und hatte den Cache zuvor nicht gelöscht. Beim Deaktivieren von Plugins kam dieser Fehler und ich wurde aus dem Backend ausgesperrt.

Ich habe für alle obigen Dateien den extends entfernt und danach den Cache geleert via bin/console cache:clear

Danach konnte ich wieder ins Backend um den Cache auch im Backend zu löschen, danach ging wieder alles und ich konnte problemlos Plugins deaktivieren.

Vielen Dank für die Antworten!

Ich werde das extends bei all den Dateien wieder einfügen.