Magento 2 Befehle Übersicht: 45+ bin/magento Befehle erklärt

Jeder bin/magento-Befehl, den Sie täglich benötigen, gruppiert nach Aufgaben, mit Beispielen: Cache, Indizes, Bereitstellung, statische Inhalte, Module, Cron, Administratorbenutzer und Fehlersuche.

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:clean entfernt Elemente nur aus den aktivierten Magento-Cache-Typen. Verwenden Sie dies zuerst.
  • cache:flush leert den gesamten Cache-Speicher, einschließlich der Elemente von anderen Anwendungen, die denselben Speicher verwenden. Verwenden Sie es, wenn clean nicht 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:upgrade aktualisiert das Datenbankschema und die Daten
  • setup:di:compile generiert Code für die Abhängigkeitsinjektion
  • setup:static-content:deploy generiert 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.