Magento 2 wird größtenteils über die Befehlszeile mit bin/magento verwaltet. Ob Sie den Cache leeren, die Indizes neu erstellen, ein neues Release bereitstellen oder einen Admin-Benutzer erstellen, es gibt einen Befehl dafür.
Dieses Cheat Sheet gruppiert die Befehle, die ich am häufigsten benutze, nach Aufgaben, mit kurzen Erklärungen und Beispielen. Lesezeichen setzen, du wirst darauf zurückkommen.
Alle Befehle werden aus dem Magento-Stammverzeichnis als Dateisystembesitzer (nicht root) ausgeführt:
cd /var/www/magento
php bin/magento list
bin/magento list zeigt jeden verfügbaren Befehl an, einschließlich derjenigen, die von Erweiterungen hinzugefügt wurden.
Cache-Befehle
Wie man den Cache in Magento 2 leert
bin/magento cache:clean
bin/magento cache:flush
cache:cleanentfernt Elemente nur aus den aktivierten Magento-Cache-Typen. Verwenden Sie dies zuerst.cache:flushleert den gesamten Cache-Speicher, einschließlich der Elemente von anderen Anwendungen, die denselben Speicher verwenden. Verwenden Sie es, wenncleannicht ausreicht.
Bereinigen Sie einen einzelnen Cache-Typ
bin/magento cache:clean config layout full_page
Überprüfen, aktivieren und deaktivieren Sie Cache-Typen
bin/magento cache:status
bin/magento cache:enable
bin/magento cache:disable full_page
Deaktivieren Sie niemals Cache-Typen in der Produktion. Es ist eine der häufigsten Ursachen für einen langsamen Shop (siehe warum Magento 2-Shops langsam werden).
Indexer-Befehle
Wie man in Magento 2 neu indiziert
bin/magento indexer:reindex
bin/magento indexer:reindex catalog_product_price
Überprüfen Sie den Indexer-Status
bin/magento indexer:status
bin/magento indexer:info
Indexer-Modus festlegen
bin/magento indexer:show-mode
bin/magento indexer:set-mode schedule
bin/magento indexer:set-mode realtime catalogsearch_fulltext
schedule (Aktualisierung nach Zeitplan) wird für die Produktion empfohlen. Das Reindexieren erfolgt dann über cron anstelle bei jedem Speichern.
Beheben Sie einen festgefahrenen Indexer
Wenn ein Index in „Verarbeitung“ oder „Reindexierung erforderlich“ bleibt:
bin/magento indexer:reset catalog_product_price
bin/magento indexer:reindex catalog_product_price
Setup- und Upgrade-Befehle
Nach der Installation oder Aktualisierung eines Moduls
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush
setup:upgradeaktualisiert das Datenbankschema und die Datensetup:di:compilegeneriert Code für die Abhängigkeitsinjektionsetup:static-content:deploygeneriert CSS, JS und Bilder für das Frontend und das Admin-Panel
Behalten Sie generierte Dateien während des Upgrades
bin/magento setup:upgrade --keep-generated
Nützlich in Bereitstellungspipelines, in denen der Code bereits kompiliert wurde.
Überprüfen Sie den Datenbankstatus
bin/magento setup:db:status
Bereitstellung statischer Inhalte
Bereitstellung für spezifische Sprachen
bin/magento setup:static-content:deploy en_US nl_NL de_DE -f
Setzen Sie nur ein Thema oder einen Bereich ein
bin/magento setup:static-content:deploy --area frontend --theme Hyva/default -f
Deployment beschleunigen
bin/magento setup:static-content:deploy -f --jobs 4
Das -f (force) Flag ist erforderlich, wenn Sie sich nicht im Produktionsmodus befinden.
Bereitstellungsmodus-Befehle
bin/magento deploy:mode:show
bin/magento deploy:mode:set production
bin/magento deploy:mode:set developer
Der Wechsel in den Produktionsmodus kompiliert auch den Code und stellt statische Inhalte bereit. Verwenden Sie --skip-compilation, wenn Ihre Pipeline dies separat behandelt.
Wartungsmodus
bin/magento maintenance:enable
bin/magento maintenance:disable
bin/magento maintenance:status
Erlaube deine eigene IP während der Wartung
bin/magento maintenance:enable --ip=203.0.113.10
bin/magento maintenance:allow-ips 203.0.113.10
Modulbefehle
bin/magento module:status
bin/magento module:enable Vendor_Module
bin/magento module:disable Vendor_Module
bin/magento module:uninstall Vendor_Module
Führen Sie setup:upgrade aus, nachdem Sie Module aktiviert oder deaktiviert haben.
Cron-Befehle
bin/magento cron:install
bin/magento cron:run
bin/magento cron:remove
cron:install fügt den Magento-Cronjob zur Crontab des aktuellen Benutzers hinzu. Wenn Indizes, E-Mails oder geplante Importe nicht ausgeführt werden, überprüfen Sie zuerst den Cron.
Admin-Benutzerbefehle
Erstellen Sie einen Admin-Benutzer
bin/magento admin:user:create --admin-user=jane --admin-password='Str0ngPass!' [email protected] --admin-firstname=Jane --admin-lastname=Doe
Ein Administratorkonto entsperren
bin/magento admin:user:unlock jane
Finden Sie die Admin-URL
bin/magento info:adminuri
Konfigurationsbefehle
bin/magento config:show web/secure/base_url
bin/magento config:set web/secure/base_url https://www.example.com/
bin/magento config:set dev/js/merge_files 0
bin/magento app:config:dump
bin/magento app:config:import
config:set --lock-env schreibt den Wert in app/etc/env.php, sodass er im Admin nicht geändert werden kann. Dies ist praktisch für umgebungsspezifische Einstellungen.
Kunden- und Katalogbefehle
bin/magento customer:hash:upgrade
bin/magento catalog:images:resize
bin/magento catalog:product:attributes:cleanup
catalog:images:resize generiert die Produktbildgrößen vor, damit der erste Besucher nicht auf sie warten muss.
Information und Fehlersuche
bin/magento --version
bin/magento info:language:list
bin/magento info:currency:list
bin/magento info:timezone:list
bin/magento store:list
bin/magento store:website:list
Typische Befehlssequenzen
Standardbereitstellung
bin/magento maintenance:enable
composer install --no-dev
bin/magento setup:upgrade --keep-generated
bin/magento setup:di:compile
bin/magento setup:static-content:deploy en_US nl_NL -f --jobs 4
bin/magento cache:flush
bin/magento maintenance:disable
„Nach einer Änderung sieht etwas falsch aus“
rm -rf generated/code/* var/view_preprocessed/* pub/static/frontend/*
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush
Sei vorsichtig mit rm -rf und lösche niemals pub/static/.htaccess.
Häufig gestellte Fragen
Was ist der Unterschied zwischen cache:clean und cache:flush?
cache:clean entfernt die aktivierten Cache-Elemente von Magento. cache:flush leert den gesamten Cache-Speicher, was auch andere Anwendungen betreffen kann, die ihn gemeinsam nutzen (zum Beispiel eine gemeinsame Redis-Datenbank).
Warum erhalte ich „Zugriff verweigert“, wenn ich bin/magento ausführe?
Sie führen wahrscheinlich als der falsche Benutzer aus. Führen Sie Befehle als Besitzer des Dateisystems aus (oft www-data oder ein Bereitstellungsbenutzer), niemals als root, da sonst generierte Dateien den falschen Besitzer erhalten.
Muss ich setup:di:compile im Entwicklermodus ausführen?
Nein. Im Entwicklermodus wird Code nach Bedarf generiert. Im Produktionsmodus ist er erforderlich.
Wie sehe ich, welchen Befehl eine Erweiterung hinzugefügt hat?
Führen Sie bin/magento list aus und suchen Sie nach Befehlen mit dem Präfix des Anbieters.
Brauchen Sie Hilfe mit Magento?
Von langsamen Bereitstellungen bis hin zu defekten Indizes helfe ich Teams, Magento 2 reibungslos und schnell zu betreiben. Siehe meinen Magento 2 und Hyvä Service oder Fordern Sie Unterstützung an.