Beispiel mit Umgebungsvariablen

In diesem Beispiel wird gezeigt, wie Sie in Ihrem Entwicklungssystem gemeinsame, systemspezifische und vertrauliche Werte festlegen und dann alle Werte in Ihrem Produktionssystem mithilfe einer Kombination der freigegebenen Konfiguration festlegen. config.phpund PHP-Umgebungsvariablen.

Diese Konfigurationseinstellungen können von Entwicklungs- und Produktionssystemen gemeinsam verwendet werden:

MwSt.-Nummer und Store-Name von Stores > Einstellungen > Konfiguration > Allgemein > Allgemein

Diese Konfigurationseinstellungen sind entweder systemspezifisch oder vertraulich, wie angegeben:

  • E-Mails an senden (sensibel) von Stores > Einstellungen > Konfiguration > Allgemein > Kontakte
  • Standard-E-Mail-Domäne (systemspezifisch) von Stores > Einstellungen > Konfiguration > Kunden > Kundenkonfiguration > Neue Kontooptionen erstellen

Sie können dasselbe Verfahren verwenden, um alle Einstellungen in den folgenden Referenzen zu konfigurieren:

Bevor Sie beginnen

Richten Sie zunächst die Dateisystemberechtigungen und den Eigentümer ein, wie hier beschrieben: Voraussetzungen für Entwicklungs-, Build- und Produktionssysteme.

Annahmen

Dieses Thema enthält ein Beispiel für die Änderung der Konfiguration des Produktionssystems. Sie können bei Bedarf verschiedene Konfigurationsoptionen auswählen.

Für die Zwecke dieses Beispiels gehen wir von Folgendem aus:

  • Verwenden Sie die Git-Quellsteuerung.
  • Das Entwicklungssystem ist in einem Git-Remote-Repository mit dem Namen mconfig
  • Ihre Git-Arbeitsverzweigung heißt m2.2_deploy

Schritt 1: Konfiguration im Entwicklungssystem festlegen

So legen Sie die standardmäßige Gebietsschema- und Gewichtseinheiten in Ihrem Entwicklungssystem fest:

  1. Melden Sie sich beim Administrator an.

  2. Klicks Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  3. Wenn mehrere Websites verfügbar sind, verwenden Sie die Store-Ansicht in der oberen linken Ecke, um zu einer anderen Website zu wechseln, wie in der folgenden Abbildung dargestellt.

    Wechseln von Websites

  4. Erweitern Sie im rechten Bereich Store-Informationen.

  5. Falls erforderlich, löschen Sie die Use Default Kontrollkästchen neben dem MwSt. Nummer -Feld.

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

  7. Im Speichername ein Wert eingeben (wie My Store).

  8. Klicks Konfiguration speichern.

  9. Verwenden Sie die Store-Ansicht Liste zur Auswahl der Standardkonfiguration wie in der folgenden Abbildung dargestellt.

    Zur Standardkonfiguration wechseln

  10. Klicken Sie im linken Navigationsbereich unter "General"auf Kontakte.

  11. Löschen Sie die Use Default Kontrollkästchen neben dem E-Mails an senden -Feld.

  12. Geben Sie eine E-Mail-Adresse in das Feld ein.

  13. Klicks Konfiguration speichern.

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

  15. Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.

  16. Löschen Sie die Systemwert verwenden Kontrollkästchen neben dem Standard-E-Mail-Domain -Feld.

  17. Geben Sie einen Domänennamen in das Feld ein.

  18. Klicks Konfiguration speichern.

  19. Wenn Sie dazu aufgefordert werden, leeren Sie den Cache.

Schritt 2: Konfiguration aktualisieren

Nachdem Sie die Konfiguration in Admin geändert haben, schreiben Sie die freigegebene Konfiguration in eine Datei, wie in diesem Abschnitt beschrieben.

So aktualisieren Sie die Konfiguration:

  1. Melden Sie sich bei Ihrem Entwicklungssystem als Eigentümer des Dateisystems an oder wechseln Sie zu ihm.

  2. Wechseln Sie zum Stammverzeichnis der Anwendung 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 installiert ist /var/www/html/magento2eingeben:

    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-terminal
    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
    Do not Änderungen an generated, pub/mediaoder pub/static Ordner zur 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. Überprüfen Sie Ihre Änderungen in app/etc/config.php nur zur Quell-Code-Verwaltung.

    code language-bash
    git add app/etc/config.php && git commit -m "Updated shared configuration" && git push mconfig m2.2_deploy
    

Beachten Sie Folgendes: app/etc/env.php (die systemspezifische Konfiguration) aktualisiert wurde, checken Sie sie nicht in die Quell-Code-Verwaltung ein. Sie werden später in diesem Verfahren dieselben Konfigurationseinstellungen für Ihr Produktionssystem erstellen.

Schritt 3: Aktualisieren Sie Ihr Build-System und generieren Sie Dateien.

Nachdem Sie Ihre Änderungen an der freigegebenen Konfiguration an die Quell-Code-Verwaltung übertragen haben, können Sie diese Änderungen in Ihrem Build-System abrufen, Code kompilieren und statische Dateien generieren. Der letzte Schritt besteht darin, diese Änderungen in Ihr Produktionssystem zu übernehmen.

So aktualisieren Sie das Build-System:

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

  2. Wechseln Sie zum Stammverzeichnis der Anwendung.

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

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

    code language-bash
    bin/magento setup:di:compile
    
  5. Nachdem der Code kompiliert wurde, generieren Sie 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: Produktionssystem aktualisieren

Der letzte Schritt im Prozess besteht darin, Ihr Produktionssystem zu aktualisieren. Sie müssen dies 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 der einzelnen Einstellungen

    Wenn Sie die Anweisungen in Schritt 1 befolgt haben, ist der Bereich für das Senden von E-Mails an global (d. h. der Bereich Standardkonfiguration ) und der Bereich für die Standard-E-Mail-Domäne ist website.

    Sie müssen den Code der Website kennen, um den Konfigurationswert Standard-E-Mail-Domäne festzulegen. Siehe Umgebungsvariablen zum Überschreiben von Konfigurationseinstellungen verwenden für weitere Informationen zum Auffinden.

  • Konfigurationspfad für jede Einstellung

    Die in diesem Beispiel verwendeten Konfigurationspfade:

    table 0-row-2 1-row-2 2-row-2
    Einstellungsname Konfigurationspfad
    E-Mails an senden contact/email/recipient_email
    Standard-E-Mail-Domain customer/create_account/email_domain

    Alle sensiblen und systemspezifischen Konfigurationspfade finden Sie in Referenz zu vertraulichen und systemspezifischen Konfigurationspfaden.

Konvertieren von Konfigurationspfaden in Variablennamen

Wie in Umgebungsvariablen zum Überschreiben von Konfigurationseinstellungen verwendenfestgelegt ist, lautet das Format der Variablen:

<SCOPE>__<SYSTEM__VARIABLE__NAME>

Der Wert von <SCOPE> is CONFIG__DEFAULT__ für globalen Umfang oder CONFIG__WEBSITES__<WEBSITE CODE> für den Website-Bereich.

So finden Sie den Wert von <SYSTEM__VARIABLE__NAME>, ersetzen Sie jeden / im Konfigurationspfad mit zwei Unterstrichen.

Die Variablennamen folgen:

Name
Konfigurationspfad
Variablenname
E-Mails an senden
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 Standard-E-Mail-Domäne . Ersetzen BASE mit dem entsprechenden Website-Code für Ihren Store.

Variablen mithilfe von Umgebungsvariablen festlegen

Sie können die Variablenwerte im index.php unter Verwendung des folgenden Formats:

$_ENV['VARIABLE'] = 'value';

So legen Sie Variablenwerte fest:

  1. Melden Sie sich bei Ihrem Produktionssystem als Eigentümer des Dateisystems an oder wechseln Sie zu ihm.

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

  3. überall in index.php, legen Sie 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 Änderungen abrufen, die Sie an Ihren Entwicklungs- und Build-Systemen vorgenommen haben. Dadurch werden die freigegebenen Konfigurationseinstellungen (Speichername und MwSt.-Nummer) aktualisiert.

So aktualisieren Sie das Produktionssystem:

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

  2. Wechseln Sie zum Stammverzeichnis der Anwendung und aktivieren Sie den Wartungsmodus.

    code language-bash
    cd <Magento root dir>
    
    code language-bash
    bin/magento maintenance:enable
    

    Weitere Optionen, wie die Möglichkeit, eine IP-Adressen-Whitelist festzulegen, finden Sie unter magento maintenance:enable.

  3. Beenden Sie alle laufenden Warteschlangen-Sekundäre, indem Sie cron_run nach false in app/etc/env.php wie folgt:

    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. Schließlich kill alle aktiven Verbraucherprozesse.

    code language-bash
    kill <PID>
    

    Wo PID die Prozess-ID, die beendet werden soll, beispielsweise:

    code language-bash
    kill 1234
    
  6. Rufen Sie Code aus der Quell-Code-Verwaltung ab.

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

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

    code language-bash
    bin/magento cache:clean
    
  9. Wartungsmodus beenden.

    code language-bash
    bin/magento maintenance:disable
    

Konfigurationseinstellungen in der Admin-Konsole überprüfen

In diesem Abschnitt wird beschrieben, wie Sie die Konfigurationseinstellungen in Ihrem Produktionssystem-Admin überprüfen können.

Überprüfen der Konfigurationseinstellungen:

  1. Melden Sie sich beim Administrator Ihres Produktionssystems an.

  2. Klicks Stores > Einstellungen > Konfiguration > Allgemein > Allgemein.

  3. Verwenden Sie die Store-Ansicht Liste oben links, um zu einer anderen Website zu wechseln.

    Die freigegebenen Konfigurationsoptionen, die Sie im Entwicklungssystem festlegen, werden in etwa wie folgt angezeigt:

    Einstellungen im Produktionssystem überprüfen

    note info
    INFO
    Die Speichername -Feld im Website-Bereich bearbeitbar ist, aber wenn Sie zum Bereich "Standardkonfiguration"wechseln, kann er nicht bearbeitet werden. Dies ist das Ergebnis der Festlegung der Optionen im Entwicklungssystem. Der Wert von MwSt. Nummer im Website-Umfang nicht bearbeitbar ist.
  4. Wechseln Sie, falls noch nicht geschehen, zum Bereich Standardkonfiguration .

  5. Klicken Sie im linken Navigationsbereich unter "General"auf Kontakte.

    Die E-Mails an senden -Feld kann nicht bearbeitet werden, wie in der folgenden Abbildung dargestellt. Dies ist eine sensible Einstellung.

    Einstellungen im Produktionssystem überprüfen

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

  7. Erweitern Sie im rechten Bereich Neue Kontooptionen erstellen.

    Der Wert der Standard-E-Mail-Domain wird wie folgt angezeigt. Dies ist eine systemspezifische Einstellung.

    Einstellungen im Produktionssystem überprüfen

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