Die drei häufigsten Shopware 6 Fehler sind Cache-Probleme, Indizierungsfehler und Plugin-Kompatibilitätskonflikte. Beheben Sie diese durch:
bin/console cache:clear und http:cache:clear
bin/console dal:refresh:index
Nach der Fehlerbehebung von Hunderten von Shopware 6 Shops habe ich festgestellt, dass 80% der Fehler in drei Kategorien fallen. Dieser Leitfaden behandelt die genauen Schritte zur Diagnose und Behebung jedes einzelnen und spart Ihnen Stunden beim Debuggen.
Sie haben Änderungen an Ihrem Theme oder Ihrer Konfiguration vorgenommen, aber das Storefront zeigt immer noch alte Inhalte. Oder Sie sehen Fehler wie "Unable to generate a URL" oder "Cannot find route definition."
Shopware 6 verwendet mehrere Cache-Ebenen (App-Cache, HTTP-Cache, Redis/Datenbank-Cache). Wenn Sie Code oder Konfiguration aktualisieren, führt veralteter Cache dazu, dass das System veraltete Daten liefert oder auf Entitäten verweist, die nicht mehr existieren.
Führen Sie diese Befehle in der Reihenfolge aus:
# App-Cache leeren
bin/console cache:clear
# HTTP-Cache leeren
bin/console http:cache:clear
# Cache neu aufbauen (Warmup)
bin/console cache:warmup
Wenn Sie Redis als Cache-Adapter verwenden, führen Sie auch aus:
redis-cli FLUSHALL
Profi-Tipp: Wenn Sie sich im Entwicklungsmodus befinden und ständig den Cache leeren, fügen Sie APP_ENV=dev zu Ihrer .env-Datei hinzu und deaktivieren Sie den HTTP-Cache vollständig. Für die Produktion sollten Sie den Cache immer aktiviert lassen und nur beim Deployment von Änderungen leeren.
Wenn Cache-Befehle fehlschlagen oder der Cache bestehen bleibt, überprüfen Sie Folgendes:
var/cache/ hat. Führen Sie chmod -R 775 var/cache aus.
sudo service php8.2-fpm restart.
Produkte erscheinen nach dem Import nicht im Storefront, Suchergebnisse sind veraltet, oder Sie sehen Fehler wie "Entity not found" oder "No index found for entity." Das Admin-Dashboard zeigt möglicherweise "Indexing in progress" an, das bei einem bestimmten Prozentsatz hängen bleibt.
Shopware 6 verwendet eine Data Abstraction Layer (DAL), die indizierte Versionen von Entitäten für die Leistung verwaltet. Wenn sich Produktdaten ändern (über API, Import oder Admin), muss der Index neu erstellt werden. Die Indizierung kann aufgrund von Datenkorruption, Speicherlimits oder unterbrochenen Prozessen fehlschlagen.
Erzwingen Sie eine vollständige Neuindizierung:
# Alle Entitäten neu indizieren
bin/console dal:refresh:index
# Falls das fehlschlägt, versuchen Sie bestimmte Entitäten zu aktualisieren
bin/console dal:refresh:index --only="product.indexer"
bin/console dal:refresh:index --only="category.indexer"
Wenn die Indizierung feststeckt oder wiederholt fehlschlägt:
var/log/prod-*.log auf spezifische Indizierungsfehler. Suchen Sie nach Datenbank-Deadlocks oder Speichererschöpfung.
mysql> SELECT * FROM product WHERE parent_id IS NOT NULL AND parent_id NOT IN (SELECT id FROM product);
-- Sollte 0 Zeilen zurückgeben. Falls nicht, haben Sie verwaiste Varianten.
php.ini:
memory_limit = 512M ; oder höher für große Kataloge
nohup bin/console dal:refresh:index > indexing.log 2>&1 &
Prävention: Planen Sie regelmäßige Indizierung über Cron (täglich während verkehrsschwacher Zeiten), um Index-Drift zu verhindern. Fügen Sie dies zu Ihrer Crontab hinzu:
0 2 * * * cd /var/www/shopware && bin/console dal:refresh:index
Nach der Installation oder Aktualisierung eines Plugins treten Fehler auf wie "Class not found," "Service not found," oder komplette weiße Bildschirme. Manchmal wird das Admin-Panel unzugänglich oder bestimmte Funktionen funktionieren nicht mehr.
Plugins können mit Ihrer Shopware-Version inkompatibel sein, mit anderen Plugins in Konflikt geraten (doppelte Service-Definitionen, Event-Subscriber-Konflikte) oder Abhängigkeiten haben, die nicht erfüllt sind. Die Plugin-Architektur von Shopware erlaubt tiefgreifende Systemmodifikationen, was bedeutet, dass schlecht programmierte Plugins die Kernfunktionalität beeinträchtigen können.
Schritt 1: Identifizieren Sie das problematische Plugin
var/log/prod-*.logbin/console plugin:deactivate PluginName
bin/console cache:clear
Schritt 2: Kompatibilität überprüfen
composer.json des Plugins Ihre Shopware-Version in den require-Einschränkungen auflistet
Schritt 3: Konflikt beheben
Wählen Sie je nach Problem eine dieser Lösungen:
Best Practice: Testen Sie Plugin-Installationen immer in einer Staging-Umgebung, bevor Sie sie in die Produktion übernehmen. Erstellen Sie vor der Installation eines Plugins ein Backup und dokumentieren Sie alle installierten Plugins mit ihren Versionen in Ihrer Projektdokumentation.
Geschrieben von Huzaifa Mustafa
Dies sind die häufigsten Probleme, aber Shopware-Fehler können komplex werden. Wenn Sie bei der Fehlerbehebung feststecken, kann ich helfen, das Problem schnell zu diagnostizieren und zu beheben.
Jetzt Beratung anfragen