Shopware CLI: Nützliche Befehle & Tricks

Gültig ab Version:
5.2.0

Einleitung

Shopware bietet einige nützliche Tools die über die Konsole ausgeführt werden können. Die sogenannten "CLI" Befehle können außerhalb von Skript-Limitierungen (Beispiel: Skriptlaufzeit des Servers) ausgeführt werden und sind daher bei der Verarbeitung großer Datenmengen empfehlenswert. Damit die Befehle ausgeführt werden, können wird ein Terminal-Programm wie "PuTTY" benötigt, welches kostenlos erhältlich ist. Hier wird via "SSH" eine Verbindung zum Webserver hergestellt, auf dem die Befehle anschließend ausgeführt werden können.

Achtung: Grundsätzlich sollten die Befehle nur mit entsprechenden Vorkenntnissen bzw. Sicherheitsvorkehrungen ausgeführt werden. Es besteht generell immer die Gefahr des Datenverlusts. Ein vollständiges Backup des Dateisystems und der Datenbank wird dringend empfohlen. Technischen Support können wir hier nur im Bereich des Entwickler-Supports leisten, für den allerdings eine Subscription notwendig ist - weitere Informationen hierzu findest Du im Artikel Wie erstelle ich ein Support Ticket?

Die Befehle können nach folgendem Schema ausgeführt werden:

 
bin/console <befehl>
 
//ODER
 
php bin/console <befehl>
 


Viele Befehle enthalten ebenfalls eine Hilfefunktion, in der mögliche Parameter aufgelistet werden.

 
bin/console sw:plugin:list -h
 
//ODER
 
bin/console sw:plugin:list --help
 

Tipps & Tricks

Nachfolgend einige wichtige Kommandos welche den Shopware Alltag erleichtern.

Thumbnails generieren

Ändert man die Standard Bildgrößen oder fügt man neue Bilder hinzu, ist es nötig, auch die Thumbnails neu zu generieren. Ein Problem hierbei ist, dass dies durch skriptseitige Beschränkungen über das Backend nur mit einer sehr geringen Stapelgröße möglich ist. Empfehlenswert ist daher die Generierung der Thumbnails über die Konsole, welche abhängig von der Anzahl der Bilder und verfügbarer Ressourcen des Servers einiges an Zeit in Anspruch nehmen kann. Grundsätzlich sollten die Thumbnails nicht regelmäßig neu generiert werden, da es sich hierbei um einen sehr performancelastigen Prozess handelt, der in der Regel nur einmalig bei Änderung der Thumbnailgrößen erforderlich ist.

 
php bin/console sw:thumbnail:generate
 

HTTP-Cache aufwärmen

Dieser Befehl ist besonders für die Verwendung als Cronjob hilfreich, da hierdurch die Ladezeiten des Shops nach Leeren des Caches deutlich verringert werden. Über den regulären Shopware Cronjob ist dieser Prozess nicht abgedeckt, weshalb dies als separater Cronjob in der Serverkonsole hinterlegt werden muss.

 
php bin/console sw:warm:http:cache
 

Weitere Informationen & nützliche Kommandos für Cronjobs findest du im Artikel Shopware Cronjobs.

Bitte beachte, dass dieser Prozess abhängig von der Artikel- bzw. Kategorieanzahl einiges an Zeit in Anspruch nehmen kann. Dieser Prozess wird für jeden (Sub-)Shop automatisch ausgeführt.

Kategoriebaum neu aufbauen

In manchen Fällen ist es erforderlich, den Kategoriebaum neu aufzubauen, jedoch sollte dies gerade bei vielen Kategorien/Artikeln nicht über das Backend erfolgen. Hier empfiehlt sich die Ausführung über die Konsole.

 
php bin/console sw:rebuild:category:tree
 

Bitte beachte, dass dieser Prozess abhängig von der Artikel- bzw. Kategorieanzahl einiges an Zeit in Anspruch nehmen kann. Dieser Prozess wird für jeden (Sub-)Shop automatisch ausgeführt.

Befehlsübersicht

Alle möglichen Befehle kannst Du dir über folgendes Kommando ausgeben lassen

php bin/console
.

Die wichtigsten Befehle haben wir für Dich hier aufgelistet:

Core Befehle

sw:thumbnail:cleanup Entfernt ungenutzte Album Vorschaubilder.
sw:thumbnail:generate Generiert ein neues Thumbnail.
sw:generate:attributes Generiert die Attribut-Models.
sw:warm:http:cache Wärmt den HTTP-Cache zur Performance-Steigerung auf.
sw:media:cleanup Sammelt alle unbenutzten Artikelbilder und verschiebt diese in den Papierkorb
sw:snippets:find:missing Findet die fehlenden Snippets in der Datebank und schreibt diese in .ini Dateien.
sw:snippets:remove Entfernt die Snippets aus der Datenbank für einen angegebenen Ordner.
sw:snippets:to:db Lädt die Snippets aus dem "/snippets" Ordner im Hauptverzeichnis der Installation in die Datenbank. Zu finden ist der Ordner hier
sw:snippets:to:ini Schreibt die Snippets von der Datenbank in .ini Dateien.
sw:snippets:to:sql Lädt die Snippets von einer .ini Datei in eine SQL Datei.

Plugin Befehle

sw:plugin:activate Aktiviert ein Plugin.
sw:plugin:config:list Listet die Plugin Konfiguration auf.
sw:plugin:config:set Setzt eine Plugin Konfiguration.
sw:plugin:deactivate Deaktiviert eine Plugin Konfiguration.
sw:plugin:delete Entfernt ein Plugin.
sw:plugin:install Installiert ein Plugin.
sw:plugin:list Listet alle Plugins auf.
sw:plugin:refresh Aktualisiert die Plugin Liste.
sw:plugin:uninstall Deinstalliert ein Plugin.
sw:plugin:update Aktualisiert ein Plugin.

Eigene Befehle mit einem Plugin anbieten

Um eigene Befehle zu erstellen, schaue hierfür in unsere DevDocs.

Weitere interessante Artikel:

Umleitung aller Aufrufe auf HTTPS Domain

Allgemein: Umleitung aller Anfrage auf die jeweilige HTTPS Domain {{Achtung|'''Achtung!''' Die hier zur Verfügung gestellten Informationen wurden zum Zeitpunkt der Veröffentlichung dieses Artikels getestet, können sich zwischenzeitlich...

weiterlesen

Fehlermeldungen in Shopware debuggen

Debugging von Fehlern, die nicht im Logfile stehen Abseits vom Shopware Backend kann es auch an anderen Stellen durch vielfältige Gründe zu Fehlern kommen, die dann natürlich nicht im Logfile stehen, aber wie herausfinden, woran es jetzt...

weiterlesen

Die Shopware Bestell-Tabellen

Einleitung In diesem Artikel findest Du eine Übersicht über die Bestell-Tabellen in Shopware, die einzelnen Spalten und Foreign Keys zu anderen Tabellen. Grundsätzlich sind in Shopware die Bestellungen in den Tabellen aus dem Bereich...

weiterlesen
€ 2,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*