Folgen

Fatal error: Shopware_Plugins_Backend_Auth_Bootstrap::initLocale()

Es gibt in letzter Zeit verstärkt Rückmeldungen, dass man beim Update des Plugins, kurz nach dem Download der Datei eine weiße Fehlerseite des Backend mit einer 500er Server Error Meldung bekommt.

Wir haben uns dazu sehr lange Gedanken gemacht und versucht den Fehler zu analysieren.

Letztendlich verdichten sich die Hinweise, dass wir mit unserem Plugin an dieser Stelle nicht die Ursache für diese Fehlermeldung sind.

Fehlermeldung im Logfile

Got error 'PHP message: PHP Fatal error: Shopware_Plugins_Backend_Auth_Bootstrap::initLocale(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Shopware\\Proxies\\__CG__\\Shopware\\Models\\Shop\\Locale" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /var/www/vhosts/DOMAIN/httpdocs/engine/Shopware/Plugins/Default/Backend/Auth/Bootstrap.php on line 430\n', referer: https://DOMAIN/backend/

Ursache des Problems

Die Schicht "UNTER Shopware" schreibt ggfls. "Proxies" auf Daten-Modelle. "Proxies" sind "Fake-Modelle" die gesetzt werden, um z.B. Performance zu verbessern oder Daten erst bei Bedarf zu laden. Man kann sich das quasi als Zwischenschicht (Cache) zwischen realen Daten und Shopware denken. Dieser spezielle Fehler tritt auf, wenn Shopwares Datenschichten in der User-Session solch einen Proxy für die Sprache schreibt.

Wenn Shopwares Datenschicht direkt das konkrete Daten-Modell für die Sprache in den User schreibt, tritt der Fehler nicht auf.

Wir können nicht bestimmen wann und wie diese Unterscheidung Proxy./.Konkretes-Modell passiert. Noch verursachen wir diese Unterscheidung aktiv in unserem Plugin.

Daher haben wir ein Issue im Shopware Ticket System erstellt:

https://issues.shopware.com/issues/SW-22413

Sollten Sie hier ebenfalls fundierte Informationen liefern können, ist es hilfreich sich an diesem Ticket zu beteiligen oder zumindest den Verlauf zu verfolgen.

UPDATE: Shopware hat in Version 5.5.3 einen entsprechenden Fix eingebracht, so das diese Fehlermeldung nicht mehr entstehen sollte.

Präventionsmaßnahme

Mit Version 8.2.4 des Plugins fügen wir eine Funktion ein, die ein solches fehlerhaftes Proxy im Vorfeld erkennt und Ihnen ein Update verweigert und auf diesen FAQ Beitrag hinweist. Damit verhindern wir im ersten Schritt, dass Sie durch ein Ausführen des Updates einen Ausfall des Shops verursachen. Gehen Sie nun zur derzeitigen Lösung des Problems über.

Lösung

Wir hoffen, dass wir in enger Zusammenarbeit mit Shopware hier noch eine Anpassung/Änderung der Proxies herbeiführen können.

Wir empfehlen deshalb derzeit, den Browser Cache zu löschen bevor Sie dann ein Update durchführen können. Sie finden Ihn unter der "F12 Taste" im Tab "Application" in Chrome bzw. "Web-Speicher" unter FireFox.

Alternativ starten Sie das Backend zur Kontrolle im "Inkognito-Modus" oder nutzen gar einen ganz anderen Browser. Wir haben festgestellt, dass das "defekte Backend" nur auf diesen einzelnen User und Browser zurückgeht, der das Update ausgeführt hat.

Auswahl_166.jpg

 

Weitere Lösungsansätze liegen uns derzeit nicht vor.

Es betrifft kein bestimmtes Plugin in einer bestimmten Version, sondern wird auch bei anderen Plugins im Shopware Forum und von anderen Herstellern ebenfalls kommuniziert.

War dieser Beitrag hilfreich?
1 von 1 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare