Konfigurationseinstellungen überschreiben
In diesem Thema wird beschrieben, wie Sie einen Umgebungsvariablennamen ableiten, der einen Konfigurationspfad kennt. Sie können Adobe Commerce-Konfigurationseinstellungen mithilfe von Umgebungsvariablen überschreiben. Sie können beispielsweise den Wert der Live-URL eines Zahlungsverarbeiters auf Ihrem Produktionssystem überschreiben.
Sie können den Wert von any Konfigurationseinstellungen mithilfe von Umgebungsvariablen festlegen; Adobe empfiehlt jedoch, konsistente Einstellungen mithilfe der freigegebenen Konfigurationsdatei beizubehalten; config.php
und der systemspezifischen Konfigurationsdatei, env.php
, wie in Allgemeine Übersicht über die Implementierung.
Umgebungsvariablen
Der Name einer Umgebungsvariablen besteht aus ihrem Umfang und seinem Konfigurationspfad in einem bestimmten Format. In den folgenden Abschnitten wird ausführlicher beschrieben, wie Sie einen Variablennamen bestimmen können.
Sie können Variablen für eine der folgenden Optionen verwenden:
-
Sensible Werte muss entweder mithilfe von Umgebungsvariablen oder der
magento config:sensitive:set
Befehl. -
Systemspezifische Werte müssen wie folgt festgelegt werden:
- Umgebungsvariablen
- Die
magento config:set
command - Der Administrator gefolgt von der
magento app:config:dump
command
Konfigurationspfade finden Sie unter:
Variablennamen
Das allgemeine Format der Variablennamen der Systemeinstellungen lautet wie folgt:
<SCOPE>__<SYSTEM__VARIABLE__NAME>
<SCOPE>
kann Folgendes sein:
-
Globaler Umfang (d. h. die globale Einstellung für all Bereiche)
Globale Perimeter haben das folgende Format:
CONFIG__DEFAULT__<SYSTEM__VARIABLE__NAME>
-
Ein bestimmter Bereich (d. h. die Einstellung wirkt sich nur auf eine bestimmte Store-Ansicht oder Website aus)
Speicheransichtsbereichsvariablen haben beispielsweise das folgende Format:
CONFIG__STORES__ <STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
Weitere Informationen zu Bereichen finden Sie unter:
<SYSTEM__VARIABLE__NAME>
ist der Konfigurationspfad mit doppelten Unterstrichzeichen, die ersetzt werden /
. Weitere Informationen finden Sie unter Schritt 2: Festlegen von Systemvariablen.
Variable format
<SCOPE>
getrennt von <SYSTEM__VARIABLE__NAME>
um zwei Unterstriche.
<SYSTEM__VARIABLE__NAME>
von einer Konfigurationseinstellung abgeleitet wurde, Konfigurationspfad, was eine /
durch Trennzeichen getrennte Zeichenfolge, die eine bestimmte Einstellung eindeutig identifiziert. Ersetzen Sie jede /
im Konfigurationspfad mit zwei Unterstrichzeichen, um die Systemvariable zu erstellen.
Wenn ein Konfigurationspfad ein Unterstrichzeichen enthält, bleibt der Unterstrich in der Variablen erhalten.
Eine vollständige Liste der Konfigurationspfade finden Sie unter:
Schritt 1: Suchen Sie den Perimeter der Website- oder Store-Ansicht.
In diesem Abschnitt wird beschrieben, wie Sie Systemkonfigurationswerte pro Umfang (Store-Ansicht oder Website). Informationen zum Festlegen globaler Scope-Variablen finden Sie unter Schritt 2: Festlegen der Variablen für globale, Website- oder Store-Ansichten.
Die Bereichswerte stammen aus dem store
, store_group
, und store_website
-Tabellen.
- Die
store
-Tabelle gibt Namen und Codes für Speicheransichten an - Die
store_website
Tabelle gibt Website-Namen und -Codes an
Sie können die Codewerte auch mit dem Admin finden.
So lesen Sie die Tabelle:
-
Path in Admin
columnWerte vor dem Komma sind Pfade in der Admin-Navigation. Werte nach dem Komma sind Optionen im rechten Bereich.
-
Variable name
column ist der Name der entsprechenden Umgebungsvariablen.Sie können bei Bedarf Systemwerte für diese Konfigurationsparameter als Umgebungsvariablen angeben.
- Der gesamte Variablenname ist immer ALL CAPS
- Variablennamen mit
CONFIG__
(Hinweis: zwei Unterstriche) - Sie finden die
<STORE_VIEW_CODE>
oder<WEBSITE_CODE>
Teil eines Variablennamens in der Admin- oder Commerce-Datenbank, wie in den folgenden Abschnitten angegeben. - Sie finden
<SYSTEM__VARIABLE__NAME>
wie in Schritt 2: Festlegen der Variablen für globale, Website- oder Store-Ansichten.
Suchen eines Website- oder Store-Ansichtsbereichs in der Admin-Konsole
In der folgenden Tabelle wird zusammengefasst, wie Sie den Anzeigewert der Website oder des Stores in der Admin-Konsole finden.
CONFIG__STORES__<STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
CONFIG__WEBSITES__<WEBSITE_CODE>__<SYSTEM__VARIABLE__NAME>
So suchen Sie beispielsweise einen Website- oder Store-Ansichtsbereichswert in der Admin-Konsole:
-
Melden Sie sich bei Admin als Benutzer an, der zum Anzeigen von Websites berechtigt ist.
-
Klicks Stores > All Stores.
-
Klicken Sie auf den Namen einer Website- oder Store-Ansicht.
Der rechte Bereich wird ähnlich dem folgenden angezeigt.
-
Der Bereichsname wird im Code -Feld.
-
Fahren Sie mit Schritt 2: Festlegen der Variablen für globale, Website- oder Store-Ansichten.
Suchen eines Website- oder Store-Ansichtsbereichs in der Datenbank
So rufen Sie diese Werte aus der Datenbank ab:
-
Melden Sie sich bei Ihrem Entwicklungssystem als Eigentümer des Dateisystems an, falls Sie dies noch nicht getan haben.
-
Geben Sie den folgenden Befehl ein:
code language-bash mysql -u <database-username> -p
-
Im
mysql>
-Eingabeaufforderung die folgenden Befehle in der angegebenen Reihenfolge eingeben:code language-shell use <database-name>;
-
Verwenden Sie die folgenden SQL-Abfragen, um die relevanten Werte zu finden:
code language-shell SELECT * FROM STORE; SELECT * FROM STORE_WEBSITE;
Ein Beispiel:
code language-shell 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 aus der
code
Spalte als Bereichsnamen, nicht alsname
-Wert.Um beispielsweise eine Konfigurationsvariable für die Test-Website festzulegen, verwenden Sie folgendes Format:
code language-shell CONFIG__WEBSITES__TEST1__<SYSTEM__VARIABLE__NAME>
where
<SYSTEM__VARIABLE__NAME>
aus dem nächsten Abschnitt.
Schritt 2: Festlegen der Variablen für globale, Website- oder Store-Ansichten
In diesem Abschnitt wird beschrieben, wie Sie Systemvariablen festlegen.
-
Um Werte für den globalen Gültigkeitsbereich (d. h. alle Websites, Stores und Store-Ansichten) festzulegen, starten Sie den Variablennamen mit
CONFIG__DEFAULT__
. -
Um einen Wert für eine bestimmte Store-Ansicht oder Website festzulegen, starten Sie den Variablennamen wie unter Schritt 1: Suchen des Perimeter-Werts:
CONFIG__WEBSITES
CONFIG__STORES
-
Der letzte Teil des Variablennamens ist der Konfigurationspfad, der für jede Konfigurationseinstellung eindeutig ist.
Die folgende Tabelle zeigt einige Beispielvariablen.
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_PORT
<SCOPE>__SHIPPING__ORIGIN__COUNTRY_ID
<SCOPE>__ADMIN__URL__CUSTOM
<SCOPE>__ADMIN__URL__CUSTOM_PATH
Beispiele
Dieser Abschnitt zeigt, wie Sie Werte einiger Beispielvariablen finden.
Hostname des Elasticsearch-Servers
So suchen Sie den Variablennamen für die globale HTML-Minimierung:
-
Legen Sie den Umfang fest.
Dies ist der globale Umfang, sodass der Variablenname mit
CONFIG__DEFAULT__
-
Der restliche Variablenname lautet
CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
.Ergebnis: Der Variablenname lautet
CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
Herkunft des Versandlandes
So suchen Sie den Variablennamen für den Versandlandherkunft:
-
Legen Sie den Umfang fest.
Suchen Sie den Bereich im Datenbank wie in Schritt 1 beschrieben: Suchen Sie den Bereichswert der Website- oder Store-Ansicht. (Sie können den Wert auch in Admin finden, wie im Abschnitt [Tabelle in Schritt 2: Festlegen von globalen, Website- oder Store-Ansichtsvariablen] (#step-2-set-global-website-or-store-view-variables.
Der Umfang kann beispielsweise
CONFIG__WEBSITES__DEFAULT
. -
Der restliche Variablenname lautet
SHIPPING__ORIGIN__COUNTRY_ID
.Ergebnis: Der Variablenname lautet
CONFIG__WEBSITES__DEFAULT__SHIPPING__ORIGIN__COUNTRY_ID
Verwenden von Umgebungsvariablen
Festlegen von Konfigurationswerten als Variablen mithilfe der von PHP verwendeten $_ENV
assoziiertes Array. Sie können die Werte in jedem PHP-Skript festlegen, das ausgeführt wird, wenn Commerce ausgeführt wird.
index.php
oder pub/index.php
funktioniert nicht immer wie erwartet, da je nach Webserverkonfiguration unterschiedliche Einstiegspunkte für die Anwendung verwendet werden können. durch $_ENV
Richtlinien in app/bootstrap.php
-Datei, unabhängig von den verschiedenen Einstiegspunkten der Anwendung, die $_ENV
Direktiven werden immer ausgeführt, da app/bootstrap.php
-Datei als Teil der Commerce-Architektur geladen werden.Ein Beispiel für die Festlegung von zwei $_ENV
-Werte:
$_ENV['CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME'] = 'http://search.example.com';
$_ENV['CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__MERCHANT_VAT_NUMBER'] = '1234';
Ein Beispiel mit einer schrittweisen Anleitung finden Sie unter Festlegen von Konfigurationswerten mithilfe von Umgebungsvariablen.
-
So verwenden Sie Werte, die Sie in der Variablen
$_ENV
Array, müssen Sievariables_order = "EGPCS"
(Umgebung, Get, Post, Cookie und Server) in Ihrerphp.ini
-Datei. Weitere Informationen finden Sie unter PHP-Dokumentation. -
Wenn Sie bei Adobe Commerce in der Cloud-Infrastruktur versuchen, Konfigurationseinstellungen mit der Projekt-Webschnittstelle, müssen Sie dem Variablennamen
env:
. Beispiel:
![Beispiel für Umgebungsvariable](./media_1393265e202782d851c4f65ba2f3b8f09113f0bbc.png?width=750&format=png&optimize=medium)