Festlegen von Konfigurationswerten
Erstellt für:
- Experte
- Admin
- Entwickler
In diesem Thema werden erweiterte Konfigurationsbefehle erläutert, die Sie für Folgendes verwenden können:
- Legen Sie eine beliebige Konfigurationsoption über die Befehlszeile fest
- Optional können Sie jede Konfigurationsoption sperren, damit ihr Wert in der Admin-Instanz nicht geändert werden kann.
- Ändern einer Konfigurationsoption, die in der Admin gesperrt ist
Sie können diese Befehle verwenden, um die Commerce-Konfiguration manuell oder mithilfe von Skripten festzulegen. Sie können Konfigurationsoptionen mithilfe eines Konfigurationspfads) festlegen bei dem es sich um eine /
Zeichenfolge handelt, die diese Konfigurationsoption eindeutig identifiziert. Konfigurationspfade finden Sie in den folgenden Verweisen:
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 Store-Ansichtsbereiche festlegen.
Verwenden Sie die folgenden Befehle:
bin/magento config:set
legt jeden nicht sensiblen Konfigurationswert anhand seines Konfigurationspfads festbin/magento config:sensitive:set
legt jeden 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 eine der folgenden Eigenschaften kennen:
-
Der Konfigurationspfad
-
Um einen Konfigurationswert für einen bestimmten Bereich festzulegen, müssen Sie den Bereichscode kennen.
Um einen Konfigurationswert für den Standardbereich festzulegen, müssen Sie nichts tun.
Suchen des Konfigurationspfads
Siehe die folgenden Verweise:
Finden des Umfangscodes
Den Gültigkeitscode finden Sie entweder in der Commerce-Datenbank oder in Commerce Admin.
So finden Sie den Bereichscode in der 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 den Code anzuzeigen.
Die folgende Abbildung zeigt einen Beispiel-Website-Code.
-
Fahren Sie mit Werte festlegen fort.
So suchen Sie den Bereichscode in der Datenbank:
Bereichscodes für Websites und Store-Ansichten werden in der Commerce-Datenbank in den store_website
- bzw. store
-Tabellen gespeichert.
-
Verbindung zur Commerce-Datenbank herstellen.
mysql -u <Commerce database username> -p
-
Geben Sie die folgenden Befehle ein:
use <Commerce database name>;
SELECT * FROM store;
SELECT * FROM store_website;
Es folgt ein Beispielergebnis:
[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:
bin/magento config:set [--scope="..."] [--scope-code="..."] [-le | --lock-env] [-lc | --lock-config] path value
So legen Sie vertrauliche Konfigurationswerte:
bin/magento config:sensitive:set [--scope="..."] [--scope-code="..."] path value
In der folgenden Tabelle werden die set
-Befehlsparameter beschrieben:
--scope
default
, website
oder store
. Der Standardwert lautet 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 bin/magento app:config:import
-Befehl 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:
Legen Sie Konfigurationswerte fest, die in der 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 im Admin bearbeitet werden.
Im Folgenden finden Sie einige Beispiele für das 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/
Festlegen der Basis-URL für die test
Store-Ansicht:
bin/magento config:set --scope=stores --scope-code=test web/unsecure/base_url http://example3.com/
Legen Sie Konfigurationswerte fest, die in Admin nicht 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 für die Bearbeitung dieses Werts in 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 sie 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 verwenden und die base_url
und andere Werte ü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-Bereich 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
auf ein anderes System übertragen, um dort dieselben Konfigurationswerte zu verwenden. Wenn Sie beispielsweise über ein Testsystem verfügen, bedeutet die Verwendung derselben config.php
, dass Sie nicht dieselben Konfigurationswerte erneut festlegen müssen.Wert der Konfigurationseinstellungen anzeigen
Befehlsoptionen:
bin/magento config:show [--scope[="..."]] [--scope-code[="..."]] path
Hierbei gilt
--scope
ist der Umfang der Konfiguration (Standard, Website, Store). Der Standardwert istdefault
--scope-code
ist der Konfigurations-Code des Umfangs (Website-Code oder Code für die Store-Ansicht)path
ist der Konfigurationspfad im Format „first_part/second_part/third_part/etc“ (erforderlich)
bin/magento config:show
zeigt die Werte aller verschlüsselten Werte als eine Reihe von Sternchen an: ******
.Beispiele
So zeigen Sie alle gespeicherten Konfigurationen:
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
Anzeigen der Basis-URL für den Standardbereich:
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/
Anzeigen der Basis-URL für den default
Store:
bin/magento config:show --scope=stores --scope-code=default web/unsecure/base_url
Ergebnis:
web/unsecure/base_url - http://example-for-store.com/