Nach Cache leeren kommt Error 500 im Frontend

Moin,

es ist mir jetzt in zwei Shops (beide Version 6.7.12.2 und auf getrennten Servern) aufgefallen, dass nach dem Cache löschen per Console das Frontend mit Error 500 abschmiert.

Als Fehler kommt dies hier:

Uncaught PHP Exception TypeError: „Symfony\Component\Translation\Translator::getCatalogue():
Return value must be of type Symfony\Component\Translation\MessageCatalogueInterface, false returned“ at Translator.php line 240
{„exception“:„[object] (TypeError(code: 0): Symfony\Component\Translation\Translator::getCatalogue():
Return value must be of type Symfony\Component\Translation\MessageCatalogueInterface, false returned at /var/…/vendor/symfony/translation/Translator.php:240)“}

Bisherige Notlösung besteht darin, in das Plesk zu gehen und PHP neu zu starten. Dann ist der Shop wieder erreichbar. Da dieses Verhalten auf unterschiedlichen Servern passiert, stell ich mir schon die Frage ob das ggf. an Shopware liegt.

Vielleicht hat jemand ein ähnliches Verhalten mal festgestellt.

Plesk hält in diesem Fall Dateien im Cache, die dort nicht mehr existieren sollten. Möglicherweise hat Shopware keine Rechte, den Cache zu leeren.

Ein Neustart von PHP löscht den Cache, entsprechend werden die Dateien neu geladen und der Fehler tritt nicht mehr auf.

Wenn der Fehler nur in der CLI auftritt, dann hast du für die CLI eine andere PHP-Version/Einstellungen bzw. andere Rechte.

Ist das ein Shopware Hosting Partner? Ich würde diese mal anschreiben. Gehe davon aus diese beiden beim selben Hoster liegen.

Wir hosten selber Shopware-Projekte, somit verwalten wir die Server auch selber. Das Verhalten selber ist erst seit kurzem aufgetreten, war vorher nicht.

Könnte man meinen, aber dies ist hier nicht der Fall.

Ich hatte das Problem bei unterschiedlichen Anbietern (Mittwald, Maxcluster, Profihost, Timme) noch nie. Glaube daher nicht, dass es an Shopware liegt.

Ehrliche Kostenrechnung mal angestellt? Lohnt sich das wirklich?

solchen effekt hatte ich noch nie gehabt

Das ist nicht Gegenstand von diesem Beitrag :slight_smile:

Läuft irgend wo ein Translator plugin

Wir testen das demnächst mal itensiv aus, ob es ggf. mit

opcache.enable_file_override = 1

zu tun hat.

Ja kann damit zutun haben. Der Opcache flag sollte nur auf systemen verwendet werden, wo produktiv keine PHP Dateien verändert werden. Das Große cache leeren was den var/cache Ordner löscht, kann da Probleme machen.

a, und der Einwand trifft den heikelsten Punkt der ganzen Konstruktion. Die Befehle laufen im laufenden Webprozess – der sich selbst aus genau dem Verzeichnis bedient, das er gerade löscht.