Festlegen von Konfigurationswerten
In diesem Thema werden erweiterte Konfigurationsbefehle erläutert, die Sie für folgende Aufgaben verwenden können:
- Konfigurationsoption über die Befehlszeile festlegen
- Optional können Sie jede Konfigurationsoption sperren, sodass deren Wert im Admin nicht geändert werden kann
- Konfigurationsoption ändern, die in der Admin-Konsole gesperrt ist
Sie können diese Befehle verwenden, um die Commerce-Konfiguration manuell oder mithilfe von Skripten festzulegen. Sie legen Konfigurationsoptionen mit einem Konfigurationspfad fest, bei dem es sich um eine durch /
getrennte Zeichenfolge handelt, die diese Konfigurationsoption eindeutig identifiziert. Sie finden Konfigurationspfade in den folgenden Referenzen:
Sie können Werte zu folgenden Zeiten festlegen:
-
Vor der Installation von Commerce können Sie Konfigurationswerte nur für den Standardbereich festlegen, da dies der einzige gültige Bereich ist.
-
Nach der Installation von Commerce können Sie Konfigurationswerte für beliebige Website- oder Speicheransichtsbereiche festlegen.
Verwenden Sie die folgenden Befehle:
bin/magento config:set
legt einen nicht vertraulichen Konfigurationswert anhand seines Konfigurationspfads festbin/magento config:sensitive:set
legt einen beliebigen sensiblen Konfigurationswert anhand seines Konfigurationspfads festbin/magento config:show
zeigt gespeicherte Konfigurationswerte an; Werte verschlüsselter Einstellungen werden als Sternchen angezeigt
Voraussetzungen
Um einen Konfigurationswert festzulegen, müssen Sie mindestens einen der folgenden Kenntnisse haben:
-
Der Konfigurationspfad
-
Um einen Konfigurationswert für einen bestimmten Bereich festzulegen, müssen Sie den Scope-Code kennen.
Um einen Konfigurationswert für den Standardbereich festzulegen, müssen Sie nichts unternehmen.
Suchen Sie den Konfigurationspfad
Siehe die folgenden Referenzen:
Suchen des Perimeter-Codes
Sie finden den Perimeter-Code entweder in der Commerce-Datenbank oder im Commerce Admin.
So suchen Sie den Scope-Code im Admin:
-
Melden Sie sich bei Admin als Benutzer an, der Websites anzeigen und Ansichten speichern kann.
-
Klicken Sie auf Stores > Einstellungen > All Stores.
-
Klicken Sie im rechten Bereich auf den Namen der Website- oder Store-Ansicht, um deren Code anzuzeigen.
Die folgende Abbildung zeigt einen Beispiel-Website-Code.
-
Fahren Sie mit Festlegen von Werten fort.
So suchen Sie den Perimeter-Code in der Datenbank:
Der Perimeter-Code für Websites und Store-Ansichten wird in der Commerce-Datenbank in den Tabellen store_website
und store
gespeichert.
-
Verbindung zur Commerce-Datenbank herstellen.
code language-bash mysql -u <Commerce database username> -p
-
Geben Sie die folgenden Befehle ein:
code language-shell use <Commerce database name>;
code language-shell SELECT * FROM store;
code language-shell SELECT * FROM store_website;
Ein Beispielergebnis:
code language-none [mysql]> SELECT * FROM store_website; +------------+-------+--------------+------------+------------------+------------+ | website_id | code | name | sort_order | default_group_id | is_default | +------------+-------+--------------+------------+------------------+------------+ | 0 | admin | Admin | 0 | 0 | 0 | | 1 | base | Main Website | 0 | 1 | 1 | | 2 | test1 | Test Website | 0 | 3 | 0 | +------------+-------+--------------+------------+------------------+------------+
Verwenden Sie den Wert in der Spalte
code
. -
Fahren Sie mit dem nächsten Abschnitt fort.
Werte festlegen
So legen Sie systemspezifische Konfigurationswerte fest:
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
So legen Sie sensible Konfigurationswerte fest:
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path value
In der folgenden Tabelle werden die Parameter des Befehls set
beschrieben:
--scope
default
, website
oder store
. Der Standardwert ist default
.--scope-code
-e or --lock-env
<Commerce base dir>/app/etc/env.php
".-c or --lock-config
<Commerce base dir>/app/etc/config.php
". Die Option --lock-config
überschreibt --lock-env
, wenn Sie beide Optionen angeben.path
value
--lock-env
und --lock-config
die Option --lock
.--lock-env
oder --lock-config
verwenden, um einen Wert festzulegen oder zu ändern, müssen Sie den Befehl bin/magento app:config:import
verwenden, um die Einstellung zu importieren, bevor Sie auf die Admin- oder Storefront zugreifen.Wenn Sie einen falschen Konfigurationspfad eingeben, gibt dieser Befehl einen Fehler zurück
The "wrong/config/path" does not exist
Weitere Informationen finden Sie in einem der folgenden Abschnitte:
Festlegen von Konfigurationswerten, die im Admin bearbeitet werden können
Verwenden Sie bin/magento config:set
ohne --lock-env
oder --lock-config
, um den Wert in die Datenbank zu schreiben. Auf diese Weise festgelegte Werte können in der Admin-Konsole bearbeitet werden.
Einige Beispiele zum Festlegen einer Store-Basis-URL:
Legen Sie die Basis-URL für den Standardbereich fest:
bin/magento config:set web/unsecure/base_url http://example.com/
Legen Sie die Basis-URL für die base
-Website fest:
bin/magento config:set --scope=websites --scope-code=base web/unsecure/base_url http://example2.com/
Legen Sie die Basis-URL für die test
Store-Ansicht fest:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
Festlegen von Konfigurationswerten, die nicht im Admin bearbeitet werden können
Wenn Sie die Option --lock-env
wie folgt verwenden, speichert der Befehl den Konfigurationswert in <Commerce base dir>/app/etc/env.php
und deaktiviert das Feld zur Bearbeitung dieses Werts im Admin.
bin/magento config:set --lock-env --scope=stores --scope-code=default web/unsecure/base_url http://example3.com
Sie können die Option --lock-env
verwenden, um Konfigurationswerte festzulegen, wenn Commerce nicht installiert ist. Sie können jedoch Werte nur für den Standardbereich festlegen.
env.php
" ist systemspezifisch. Sie sollten es nicht auf ein anderes System übertragen. Sie können damit Konfigurationswerte aus der Datenbank überschreiben. Sie können beispielsweise einen Datenbank-Dump von einem anderen System erstellen und die Werte base_url
und andere überschreiben, sodass Sie die Datenbank nicht ändern müssen.Wenn Sie die Option --lock-config
wie folgt verwenden, wird der Konfigurationswert in <Commerce base dir>/app/etc/config.php
gespeichert. Das Feld zum Bearbeiten dieses Werts im Admin ist deaktiviert.
bin/magento config:set --lock-config --scope=stores --scope-code=default web/url/use_store 1
Sie können --lock-config
verwenden, um Konfigurationswerte festzulegen, wenn Commerce nicht installiert ist. Sie können jedoch Werte nur für den Standardbereich festlegen.
config.php
an ein anderes System übertragen, um dort dieselben Konfigurationswerte zu verwenden. Wenn Sie beispielsweise über ein Testsystem verfügen, bedeutet die Verwendung des gleichen config.php
, dass Sie nicht dieselben Konfigurationswerte erneut festlegen müssen.Wert der Konfigurationseinstellungen anzeigen
Befehlsoptionen:
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
where
--scope
ist der Umfang der Konfiguration (Standard, Website, Store). Der Standardwert istdefault
--scope-code
ist der Code für die Konfiguration (Website-Code oder Code für die Store-Ansicht)path
ist der Konfigurationspfad im Format first_part/second_part/third_part/etc (required)
bin/magento config:show
zeigt die Werte aller verschlüsselten Werte als eine Reihe von Sternchen an: ******
.Beispiele
So zeigen Sie alle gespeicherten Konfigurationen an:
bin/magento config:show
Ergebnis:
web/unsecure/base_url - http://example.com/
general/region/display_all - 1
general/region/state_required - AT,BR,CA,CH,EE,ES,FI,LT,LV,RO,US
catalog/category/root_id - 2
analytics/subscription/enabled - 1
So zeigen Sie alle gespeicherten Konfigurationen für die base
Website an:
bin/magento config:show --scope=websites --scope-code=base
Ergebnis:
web/unsecure/base_url - http://example-for-website.com/
general/region/state_required - AT,BR,CA
So zeigen Sie die Basis-URL für den Standardbereich an:
bin/magento config:show web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example.com/
So zeigen Sie die Basis-URL für die base
Website an:
bin/magento config:show --scope=websites --scope-code=base web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example-for-website.com/
So zeigen Sie die Basis-URL für den default
store an:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example-for-store.com/