Nach einem Shopware 6 Update kann es unter Shopware 6.7.11.* und 6.7.12.* dazu kommen, dass sich die Administration nicht mehr öffnen lässt und stattdessen ein 500 Internal Server Error erscheint. Ursache ist eine Inkompatibilität zwischen aktuellen Twig-Versionen (ab 3.26) und der derzeitigen Implementierung von Shopware.
Fehlermeldung
Im Fehlerprotokoll oder Browser erscheint unter anderem folgende Meldung:
Shopware\Core\Framework\Adapter\Twig\Extension\TwigFeaturesWithInheritanceExtension::include():
Return value must be of type string, Twig\Markup returned
Ursache
Seit Twig 3.26 gibt die interne include()-Funktion nicht mehr zwingend einen String zurück, sondern ein Twig\Markup-Objekt. Die Shopware-Klasse TwigFeaturesWithInheritanceExtension erwartet jedoch weiterhin einen Rückgabewert vom Typ string. Dadurch löst PHP einen TypeError aus und die Administration kann nicht mehr gerendert werden.
Das Problem tritt unabhängig von installierten Plugins auf. Häufig wird es allerdings erst durch ein Composer-Update ausgelöst, wenn eine andere Abhängigkeit eine neuere Twig-Version erlaubt und Composer diese automatisch installiert.
Temporärer Quick Fix
Bis Shopware einen offiziellen Fix veröffentlicht, kann das Problem in den meisten Fällen durch ein Downgrade auf Twig 3.27.1 behoben werden.
composer update twig/twig:3.27.1 --with-all-dependencies
Anschließend empfehlen wir, den Cache zu leeren:
bin/console cache:clear
Keine Anpassungen im Vendor-Verzeichnis vornehmen
Ein manueller Eingriff in die Datei TwigFeaturesWithInheritanceExtension.php (beispielsweise durch einen Cast auf (string)) behebt den Fehler zwar ebenfalls, ist jedoch nicht update-sicher. Änderungen im vendor-Verzeichnis werden bei jedem Composer-Update oder einer Neuinstallation wieder überschrieben.
Fazit
Wenn Ihre Shopware Administration nach einem Composer-Update unter Shopware 6.7.11.* oder 6.7.12.* plötzlich mit einem 500 Fehler nicht mehr erreichbar ist, lohnt sich ein Blick auf die installierte Twig-Version. Liegt diese bei 3.26 oder neuer, kann das oben beschriebene Downgrade auf Twig 3.27.1 die Administration kurzfristig wieder funktionsfähig machen, bis ein offizieller Fix von Shopware bereitgestellt wird.
Benötigen Sie Unterstützung bei Composer-Abhängigkeiten, Shopware-Updates oder der Fehleranalyse? Die Experten von 8works unterstützen Sie gerne bei der schnellen Behebung von Update-Problemen und sorgen dafür, dass Ihr Shop wieder zuverlässig läuft.