Beispiel für die Verwendung von Umgebungsvariablen
Dieses Beispiel zeigt, wie Sie in Ihrem Entwicklungssystem gemeinsame, systemspezifische und vertrauliche Werte festlegen und dann alle Werte in Ihrem Produktionssystem mithilfe einer Kombination der gemeinsamen Konfigurations-, config.php
- und PHP-Umgebungsvariablen festlegen.
Diese Konfigurationseinstellungen können von Entwicklungs- und Produktionssystemen gemeinsam verwendet werden:
MwSt.-Nummer und Name des Geschäfts unter Geschäfte > Einstellungen > Konfiguration > Allgemein > Allgemein
Diese Konfigurationseinstellungen sind entweder systemspezifisch oder sensibel, wie angegeben:
- Senden von E-Mails an (vertraulich) über Stores > Einstellungen > Konfiguration > Allgemein > Kontakte
- Standard-E-Mail-Domain (systemspezifisch) von Stores > Einstellungen > Konfiguration > Kunden > Kundenkonfiguration > Optionen für neues Konto erstellen
Sie können dasselbe Verfahren verwenden, um alle Einstellungen in den folgenden Verweisen zu konfigurieren:
Bevor Sie beginnen
Bevor Sie beginnen, richten Sie Dateisystemberechtigungen und -eigentümerschaft ein, wie in Voraussetzung für Entwicklungs-, Build- und Produktionssysteme beschrieben.
Annahmen
Dieses Thema enthält ein Beispiel für das Ändern der Konfiguration des Produktionssystems. Sie können bei Bedarf verschiedene Konfigurationsoptionen auswählen.
Für die Zwecke dieses Beispiels gehen wir von Folgendem aus:
- Sie verwenden die Git-Quell-Code-Verwaltung
- Das Entwicklungssystem ist in einem Git-Remote-Repository namens
mconfig
verfügbar - Ihre Git-Arbeitsverzweigung heißt
m2.2_deploy
Schritt 1: Festlegen der Konfiguration im Entwicklungssystem
So legen Sie das Standardgebietsschema und die Gewichtungseinheiten in Ihrem Entwicklungssystem fest:
-
Melden Sie sich beim Administrator an.
-
Klicken Sie auf Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.
-
Wenn mehr als eine Website verfügbar ist, verwenden Sie die Liste Store-Ansicht in der oberen linken Ecke, um zu einer anderen Website zu wechseln, wie in der folgenden Abbildung dargestellt.
-
Erweitern Sie im rechten Bereich Informationen speichern.
-
Deaktivieren Sie bei Bedarf das Standard verwenden neben dem Feld MwSt.-Nummer.
-
Geben Sie eine Zahl in das Feld ein (z. B.
12345
). -
Geben im Feld Store-Name“ einen Wert ein (wie
My Store
). -
Klicken Sie Konfiguration speichern.
-
Wählen Sie in Liste "" die Standardkonfiguration aus, wie in der folgenden Abbildung dargestellt.
-
Klicken Sie in der linken Navigation unter Allgemein auf Kontakte.
-
Deaktivieren Sie das Standard verwenden neben dem Feld E-Mails senden an.
-
Geben Sie eine E-Mail-Adresse ein.
-
Klicken Sie Konfiguration speichern.
-
Klicken Sie im linken Bereich auf Kunden > Kundenkonfiguration.
-
Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.
-
Deaktivieren Sie das Systemwert verwenden neben dem Feld Standard-E-Mail-Domain.
-
Geben Sie einen Domain-Namen in das Feld ein.
-
Klicken Sie Konfiguration speichern.
-
Leeren Sie den Cache, wenn Sie dazu aufgefordert werden.
Schritt 2: Aktualisieren der Konfiguration
Nachdem Sie nun die Konfiguration im Admin-Bereich geändert haben, schreiben Sie die freigegebene Konfiguration in eine Datei, wie in diesem Abschnitt beschrieben.
Aktualisieren der Konfiguration:
-
Melden Sie sich bei Ihrem Entwicklungssystem als Eigentümer an oder wechseln Sie zum Dateisystembesitzer.
-
Wechseln Sie zum Anwendungsstamm und führen Sie den Befehl „dump“ aus.
code language-bash cd <Magento root dir> php bin/magento app:config:dump
Wenn beispielsweise Commerce in
/var/www/html/magento2
installiert ist, geben Sie Folgendes ein:code language-bash cd /var/www/html/magento2 php bin/magento app:config:dump
-
Bestätigen Sie, dass
app/etc/config.php
aktualisiert wurde.code language-bash git status
Beispielantwort:
code language-none On branch m2.2_deploy Changed but not updated: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: app/etc/config.php
note warning WARNING Übermitteln nicht Änderungen an den generated
-,pub/media
- oderpub/static
-Ordnern an die Quell-Code-Verwaltung. Sie generieren diese Dateien auf Ihrem Build-System. Das Entwicklungssystem verfügt wahrscheinlich über Code, Designs usw., die nicht für die Verwendung im Produktionssystem bereit sind. -
Checken Sie Ihre Änderungen ein, um nur die Quellcodeverwaltung zu
app/etc/config.php
.code language-bash git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
Beachten Sie, dass app/etc/env.php
(die systemspezifische Konfiguration) zwar aktualisiert wurde, aber nicht in die Quell-Code-Verwaltung eingecheckt werden muss. Die Konfigurationseinstellungen werden später in diesem Verfahren auf Ihrem Produktionssystem erstellt.
Schritt 3: Build-System aktualisieren und Dateien generieren
Nachdem Sie Ihre Änderungen an der freigegebenen Konfiguration in die Quell-Code-Verwaltung übertragen haben, können Sie diese Änderungen in Ihr Build-System übernehmen, Code kompilieren und statische Dateien generieren. Der letzte Schritt besteht darin, diese Änderungen an Ihr Produktionssystem zu übertragen.
So aktualisieren Sie das Build-System:
-
Melden Sie sich beim Build-System als Eigentümer des Dateisystems an.
-
Wechseln Sie in das Stammverzeichnis der Anwendung.
code language-bash cd <Magento root dir>
-
Abrufen der Änderungen an
app/etc/config.php
aus der Quell-Code-Verwaltung.code language-bash git pull mconfig m2.2_deploy
-
Kompilieren Sie Code.
code language-bash bin/magento setup:di:compile
-
Generieren Sie nach dem Kompilieren des Codes statische Ansichtsdateien.
code language-bash bin/magento setup:static-content:deploy -f
-
Überprüfen Sie die Änderungen in der Quell-Code-Verwaltung.
code language-bash git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
Schritt 4: Aktualisieren des Produktionssystems
Der letzte Schritt im Prozess ist die Aktualisierung Ihres Produktionssystems. Sie müssen es in zwei Teilen tun:
- Aktualisieren der sensiblen und systemspezifischen Einstellungen
- Aktualisieren der freigegebenen Einstellungen
Aktualisieren der sensiblen und systemspezifischen Einstellungen
Um die sensiblen und systemspezifischen Einstellungen mithilfe von Umgebungsvariablen festzulegen, müssen Sie Folgendes wissen:
-
Umfang für jede Einstellung
Wenn Sie die Anweisungen in Schritt 1 befolgt haben, ist der Bereich für „E-Mails senden an“ global (d. h. der Standardkonfigurationsbereich) und der Bereich für die Standard-E-Mail-Domain ist „website“.
Sie müssen den Code der Website kennen, um den Konfigurationswert der Standard-E-Mail-Domain festzulegen. Weitere Informationen Auffinden finden Sie unter „Verwenden von Umgebungsvariablen zum ÜberschreibenKonfigurationseinstellungen“.
-
Konfigurationspfad für jede Einstellung
Die in diesem Beispiel verwendeten Konfigurationspfade lauten wie folgt:
table 0-row-2 1-row-2 2-row-2 Name der Einstellung Konfigurationspfad E-Mails senden an contact/email/recipient_email
Standard-E-Mail-Domain customer/create_account/email_domain
Alle sensiblen und systemspezifischen Konfigurationspfade finden Sie in Referenz zu sensiblen und systemspezifischen Konfigurationspfaden.
Konvertieren von Konfigurationspfaden in Variablennamen
Wie in Verwenden von Umgebungsvariablen zum Überschreiben der Konfigurationseinstellungen erläutert, lautet das Format von Variablen:
<SCOPE>__<SYSTEM__VARIABLE__NAME>
Der Wert von <SCOPE>
wird für den globalen Umfang CONFIG__DEFAULT__
oder für den Website-Umfang CONFIG__WEBSITES__<WEBSITE CODE>
.
Um den Wert von <SYSTEM__VARIABLE__NAME>
zu finden, ersetzen Sie jedes /
Zeichen im Konfigurationspfad durch zwei Unterstriche.
Die Variablennamen folgen:
contact/email/recipient_email
CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL
customer/create_account/email_domain
CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN
BASE
für die Konfigurationseinstellung der Standard-E-Mail-Domain . Ersetzen Sie BASE
durch den entsprechenden Website-Code für Ihren Store.Festlegen der Variablen mithilfe von Umgebungsvariablen
Sie können die Variablenwerte in der index.php
im folgenden Format festlegen:
$_ENV['VARIABLE'] = 'value';
So legen Sie Variablenwerte:
-
Melden Sie sich bei Ihrem Produktionssystem als Dateisystembesitzer an oder wechseln Sie zu diesem.
-
Öffnen Sie
<Commerce root dir>/pub/index.php
in einem Texteditor. -
Legen Sie an einer beliebigen Stelle in
index.php
Werte für die Variablen ähnlich den folgenden fest:code language-php $_ENV['CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL'] = 'myname@example.com'; $_ENV['CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN'] = 'magento.com';
-
Speichern Sie Ihre Änderungen in
pub/index.php
und beenden Sie den Texteditor. -
Fahren Sie mit dem nächsten Abschnitt fort.
Aktualisieren der freigegebenen Einstellungen
In diesem Abschnitt wird beschrieben, wie Sie alle an Ihren Entwicklungs- und Build-Systemen vorgenommenen Änderungen abrufen können, wodurch die freigegebenen Konfigurationseinstellungen (Store-Name und MwSt.-Nummer) aktualisiert werden.
So aktualisieren Sie das Produktionssystem:
-
Melden Sie sich beim Produktionssystem als Eigentümer des Dateisystems an.
-
Wechseln Sie zum Anwendungsstamm und aktivieren Sie den Wartungsmodus.
code language-bash cd <Magento root dir>
code language-bash bin/magento maintenance:enable
Weitere Optionen, z. B. die Möglichkeit, eine IP-Adressen-Zulassungsliste festzulegen, finden Sie unter
magento maintenance:enable
. -
Beenden Sie alle ausgeführten Warteschlangenarbeitnehmer, indem Sie
cron_run
wie folgt auffalse
inapp/etc/env.php
setzen:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
Aktualisieren Sie die Konfiguration.
code language-bash bin/magento app:config:import
-
kill
Sie abschließend alle aktiven Verbraucherprozesse.code language-bash kill <PID>
Dabei ist
PID
die Prozess-ID, die abgebrochen werden soll, z. B.:code language-bash kill 1234
-
Code aus der Quellcodeverwaltung abrufen.
code language-bash git pull mconfig m2.2_deploy
-
Aktualisieren Sie die Konfiguration.
code language-bash bin/magento app:config:import
-
Reinigen Sie den Cache.
code language-bash bin/magento cache:clean
-
Wartungsmodus beenden
code language-bash bin/magento maintenance:disable
Überprüfen der Konfigurationseinstellungen in der Admin Console
In diesem Abschnitt wird beschrieben, wie Sie die Konfigurationseinstellungen in Ihrem Produktionssystem-Administrator überprüfen können.
Überprüfen der Konfigurationseinstellungen:
-
Melden Sie sich beim Administrator Ihres Produktionssystems an.
-
Klicken Sie auf Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.
-
Verwenden Sie die Store-Ansicht in der oberen linken Ecke, um zu einer anderen Website zu wechseln.
Die freigegebenen Konfigurationsoptionen, die Sie im Entwicklungssystem festlegen, werden ähnlich der folgenden angezeigt.
note info INFO Das Store-Name-Feld kann im Website-Bereich bearbeitet werden, wenn Sie jedoch zum Standard-Konfigurationsbereich wechseln, ist es nicht bearbeitbar. Dies ist das Ergebnis der Einstellung der Optionen im Entwicklungssystem. Der Wert MwSt.-Nummer kann im Website-Umfang nicht bearbeitet werden. -
Wechseln Sie, falls noch nicht geschehen, zum Bereich „Standardkonfiguration“.
-
Klicken Sie in der linken Navigation unter Allgemein auf Kontakte.
Das Feld E-Mails senden an kann nicht bearbeitet werden, wie in der folgenden Abbildung dargestellt. Dies ist ein sensibler Bereich.
-
Klicken Sie im linken Bereich auf Kunden > Kundenkonfiguration.
-
Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.
Der Wert des Felds Standard-E-Mail Domain) wird wie folgt angezeigt. Dies ist eine systemspezifische Einstellung.