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:

  1. Melden Sie sich beim Administrator an.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  3. 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.

    Websites wechseln

  4. Erweitern Sie im rechten Bereich Informationen speichern.

  5. Deaktivieren Sie bei Bedarf das Standard verwenden neben dem Feld MwSt.-Nummer.

  6. Geben Sie eine Zahl in das Feld ein (z. B. 12345).

  7. Geben im Feld Store-Name“ einen Wert ein (wie My Store).

  8. Klicken Sie Konfiguration speichern.

  9. Wählen Sie in Liste "" die Standardkonfiguration aus, wie in der folgenden Abbildung dargestellt.

    Wechseln Sie zur Standardkonfiguration

  10. Klicken Sie in der linken Navigation unter Allgemein auf Kontakte.

  11. Deaktivieren Sie das Standard verwenden neben dem Feld E-Mails senden an.

  12. Geben Sie eine E-Mail-Adresse ein.

  13. Klicken Sie Konfiguration speichern.

  14. Klicken Sie im linken Bereich auf Kunden > Kundenkonfiguration.

  15. Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.

  16. Deaktivieren Sie das Systemwert verwenden neben dem Feld Standard-E-Mail-Domain.

  17. Geben Sie einen Domain-Namen in das Feld ein.

  18. Klicken Sie Konfiguration speichern.

  19. 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:

  1. Melden Sie sich bei Ihrem Entwicklungssystem als Eigentümer an oder wechseln Sie zum Dateisystembesitzer.

  2. 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
    
  3. 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- oder pub/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.
  4. 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:

  1. Melden Sie sich beim Build-System als Eigentümer des Dateisystems an.

  2. Wechseln Sie in das Stammverzeichnis der Anwendung.

    code language-bash
    cd <Magento root dir>
    
  3. Abrufen der Änderungen an app/etc/config.php aus der Quell-Code-Verwaltung.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Kompilieren Sie Code.

    code language-bash
    bin/magento setup:di:compile
    
  5. Generieren Sie nach dem Kompilieren des Codes statische Ansichtsdateien.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. Ü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:

-Name
Konfigurationspfad
Variablenname
E-Mails senden an
contact/email/recipient_email
CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL
Standard-E-Mail-Domain
customer/create_account/email_domain
CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN
INFO
Die vorherige Tabelle enthält einen Beispiel-Website-Code 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:

  1. Melden Sie sich bei Ihrem Produktionssystem als Dateisystembesitzer an oder wechseln Sie zu diesem.

  2. Öffnen Sie <Commerce root dir>/pub/index.php in einem Texteditor.

  3. 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';
    
  4. Speichern Sie Ihre Änderungen in pub/index.php und beenden Sie den Texteditor.

  5. 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:

  1. Melden Sie sich beim Produktionssystem als Eigentümer des Dateisystems an.

  2. 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.

  3. Beenden Sie alle ausgeführten Warteschlangenarbeitnehmer, indem Sie cron_run wie folgt auf false in app/etc/env.php setzen:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Aktualisieren Sie die Konfiguration.

    code language-bash
    bin/magento app:config:import
    
  5. 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
    
  6. Code aus der Quellcodeverwaltung abrufen.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Aktualisieren Sie die Konfiguration.

    code language-bash
    bin/magento app:config:import
    
  8. Reinigen Sie den Cache.

    code language-bash
    bin/magento cache:clean
    
  9. 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:

  1. Melden Sie sich beim Administrator Ihres Produktionssystems an.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  3. 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.

    Überprüfen Sie die Einstellungen im Produktionssystem

    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.
  4. Wechseln Sie, falls noch nicht geschehen, zum Bereich „Standardkonfiguration“.

  5. 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.

    Überprüfen Sie die Einstellungen im Produktionssystem

  6. Klicken Sie im linken Bereich auf Kunden > Kundenkonfiguration.

  7. 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.

    Überprüfen Sie die Einstellungen im Produktionssystem

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c