Exempel med miljövariabler

I det här exemplet visas hur du ställer in delade, systemspecifika och känsliga värden i utvecklingssystemet och sedan anger alla värden i produktionssystemet med en kombination av den delade konfigurationen, config.php, och PHP-miljövariablerna.

Dessa konfigurationsinställningar kan delas mellan utvecklings- och produktionssystemen:

VAT Number and Store Name from Stores > Settings > Configuration > General > General

De här konfigurationsinställningarna är antingen systemspecifika eller känsliga, vilket anges:

  • Skicka e-post till (känslig) från Lager > Inställningar > Konfiguration > Allmänt > Kontakter
  • Standarddomän för e-post (systemspecifik) från Lager > Inställningar > Konfiguration > Kunder > Kundkonfiguration > Skapa nya kontoalternativ

Du kan använda samma procedur för att konfigurera inställningar i följande referenser:

Innan du börjar

Konfigurera filsystembehörigheter och ägarskap enligt beskrivningen i Krav för utvecklings-, bygg- och produktionssystem innan du börjar.

Antaganden

Det här avsnittet innehåller ett exempel på hur du ändrar konfigurationen av produktionssystemet. Du kan välja olika konfigurationsalternativ om du vill.

I det här exemplet förutsätts följande:

  • Du använder Git-källkontrollen
  • Utvecklingssystemet är tillgängligt i en Git-fjärrdatabas med namnet mconfig
  • Din Git-arbetsgrupp heter m2.2_deploy

Steg 1: Ange konfigurationen i utvecklingssystemet

Så här anger du standardinställningar för nationella inställningar och viktenheter i utvecklingssystemet:

  1. Logga in på Admin.

  2. Klicka på Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt.

  3. Om du har fler än en webbplats tillgänglig kan du använda listan Butiksvy i det övre vänstra hörnet för att växla till en annan webbplats som på bilden nedan.

    Växla webbplatser

  4. Expandera Lagra information i den högra rutan.

  5. Om det behövs avmarkerar du kryssrutan Använd standard bredvid fältet Momsnummer.

  6. Ange ett tal i fältet (till exempel 12345).

  7. Ange ett värde (till exempel My Store) i fältet Butiksnamn.

  8. Klicka på Spara konfiguration.

  9. Använd listan Butiksvy för att välja Standardkonfiguration enligt bilden nedan.

    Växla till standardkonfigurationen

  10. Klicka på Kontakter under Allmänt i den vänstra navigeringen.

  11. Avmarkera kryssrutan Använd standard bredvid fältet Skicka e-post till.

  12. Ange en e-postadress i fältet.

  13. Klicka på Spara konfiguration.

  14. Klicka på Kunder > Kundkonfiguration i den vänstra rutan.

  15. Expandera Skapa nya kontoalternativ i den högra rutan.

  16. Avmarkera kryssrutan Använd systemvärde intill fältet Standarddomän för e-post.

  17. Ange ett domännamn i fältet.

  18. Klicka på Spara konfiguration.

  19. Rensa cachen om du uppmanas till det.

Steg 2: Uppdatera konfigurationen

Nu när du har ändrat konfigurationen i Admin skriver du den delade konfigurationen till en fil enligt beskrivningen i det här avsnittet.

Så här uppdaterar du konfigurationen:

  1. Logga in på utvecklingssystemet som ägare av filsystemet eller växla till det.

  2. Byt till programroten och kör kommandot dump.

    code language-bash
    cd <Magento root dir>
    php bin/magento app:config:dump
    

    Om Commerce till exempel är installerat i /var/www/html/magento2 anger du:

    code language-bash
    cd /var/www/html/magento2
    php bin/magento app:config:dump
    
  3. Bekräfta att app/etc/config.php har uppdaterats.

    code language-bash
    git status
    

    Exempelsvar:

    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
    Skicka inte ändringar i katalogerna generated, pub/media eller pub/static till källkontrollen. Du genererar dessa filer i ditt byggsystem. Utvecklingssystemet har förmodligen kod, teman och så vidare som inte är klara att användas i produktionssystemet.
  4. Checka endast in dina ändringar i app/etc/config.php för källkontroll.

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

Observera att även om app/etc/env.php (den systemspecifika konfigurationen) uppdaterades, ska du inte checka in den i källkontrollen. Du kommer att skapa samma konfigurationsinställningar i produktionssystemet senare under den här proceduren.

Steg 3: Uppdatera ditt byggsystem och generera filer

Nu när du har implementerat ändringarna i den delade konfigurationen för källkontroll kan du dra in dessa ändringar i ditt build-system, kompilera kod och generera statiska filer. Det sista steget är att föra över dessa ändringar till produktionssystemet.

Så här uppdaterar du byggsystemet:

  1. Logga in på byggsystemet som ägare av filsystemet.

  2. Byt till programmets rotkatalog.

    code language-bash
    cd <Magento root dir>
    
  3. Dra in ändringarna i app/etc/config.php från källkontrollen.

    code language-bash
    git pull mconfig m2.2_deploy
    
  4. Kompilera kod.

    code language-bash
    bin/magento setup:di:compile
    
  5. Generera statiska vyfiler när koden har kompilerats.

    code language-bash
    bin/magento setup:static-content:deploy -f
    
  6. Kontrollera ändringarna i källkontrollen.

    code language-bash
    git add -A && git commit -m "Updated files on build system" && git push mconfig m2.2_deploy
    

Steg 4: Uppdatera produktionssystemet

Det sista steget i processen är att uppdatera produktionssystemet. Du måste göra det i två delar:

  • Uppdatera känsliga och systemspecifika inställningar
  • Uppdatera de delade inställningarna

Uppdatera känsliga och systemspecifika inställningar

Om du vill ange känsliga och systemspecifika inställningar med hjälp av systemvariabler måste du känna till följande:

  • Omfång för varje inställning

    Om du följde instruktionerna i steg 1 är omfattningen för Skicka e-post till global (d.v.s. standardkonfigurationsomfånget) och omfattningen för standarddomänen för e-post är webbplats.

    Du måste känna till webbplatsens kod för att kunna ställa in standardvärdet för e-postdomän. Mer information om hur du söker efter det finns i Använd miljövariabler för att åsidosätta konfigurationsinställningar.

  • Konfigurationssökväg för varje inställning

    Konfigurationssökvägarna som används i det här exemplet följer:

    table 0-row-2 1-row-2 2-row-2
    Inställningsnamn Konfigurationssökväg
    Skicka e-post till contact/email/recipient_email
    Standarddomän för e-post customer/create_account/email_domain

    Du kan hitta alla känsliga och systemspecifika konfigurationssökvägar i Känsliga och systemspecifika konfigurationssökvägar, referens.

Konvertera konfigurationssökvägar till variabelnamn

Som nämndes i Använd miljövariabler för att åsidosätta konfigurationsinställningar är variabelformatet:

<SCOPE>__<SYSTEM__VARIABLE__NAME>

Värdet <SCOPE> är CONFIG__DEFAULT__ för globalt omfång eller CONFIG__WEBSITES__<WEBSITE CODE> för webbplatsomfång.

Om du vill hitta värdet för <SYSTEM__VARIABLE__NAME> ersätter du varje /-tecken i konfigurationssökvägen med två understreck.

Variabelnamnen följer:

Namn
Konfigurationssökväg
Variabelnamn
Skicka e-post till
contact/email/recipient_email
CONFIG__DEFAULT__CONTACT__EMAIL__RECIPIENT_EMAIL
Standarddomän för e-post
customer/create_account/email_domain
CONFIG__WEBSITES__BASE__CUSTOMER__CREATE_ACCOUNT__EMAIL_DOMAIN
INFO
Tabellen ovan innehåller ett exempel på webbplatskod, BASE, för konfigurationsinställningen Standarddomän för e-post. Ersätt BASE med rätt webbplatskod för din butik.

Ange variabler med hjälp av systemvariabler

Du kan ange variabelvärden i index.php med följande format:

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

Så här anger du variabelvärden:

  1. Logga in i produktionssystemet som, eller växla till, ägare av filsystemet.

  2. Öppna <Commerce root dir>/pub/index.php i en textredigerare.

  3. Ange värden för variablerna i index.php var som helst:

    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. Spara ändringarna i pub/index.php och avsluta textredigeraren.

  5. Fortsätt med nästa avsnitt.

Uppdatera de delade inställningarna

I det här avsnittet beskrivs hur du kan hämta alla ändringar du har gjort i dina utvecklings- och konstruktionssystem, vilket uppdaterar de delade konfigurationsinställningarna (Butiksnamn och Momsnummer).

Så här uppdaterar du produktionssystemet:

  1. Logga in i produktionssystemet som filsystemsägare.

  2. Byt till programroten och aktivera underhållsläge.

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

    Ytterligare alternativ, som möjligheten att ange en vitlista för IP-adresser, finns i magento maintenance:enable.

  3. Stoppa alla köarbetare som körs genom att ange cron_run till false i app/etc/env.php enligt följande:

    code language-php?start_inline=1
    'cron_consumers_runner' => [
            'cron_run' => false
        ]
    
  4. Uppdatera konfigurationen.

    code language-bash
    bin/magento app:config:import
    
  5. Slutligen kill alla aktiva konsumentprocesser.

    code language-bash
    kill <PID>
    

    Där PID är process-ID:t som ska dödas, till exempel:

    code language-bash
    kill 1234
    
  6. Dra in kod från källkontrollen.

    code language-bash
    git pull mconfig m2.2_deploy
    
  7. Uppdatera konfigurationen.

    code language-bash
    bin/magento app:config:import
    
  8. Rensa cachen.

    code language-bash
    bin/magento cache:clean
    
  9. Avsluta underhållsläge.

    code language-bash
    bin/magento maintenance:disable
    

Verifiera konfigurationsinställningar i administratören

I det här avsnittet beskrivs hur du kan verifiera konfigurationsinställningarna i produktionssystemadministratören.

Så här verifierar du konfigurationsinställningarna:

  1. Logga in i produktionssystemets administratör.

  2. Klicka på Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt.

  3. Använd listan Butiksvy i det övre vänstra hörnet för att växla till en annan webbplats.

    De alternativ för delad konfiguration som du anger i utvecklingssystemet visas på ungefär följande sätt.

    Kontrollera inställningarna i produktionssystemet

    note info
    INFO
    Fältet Butiksnamn kan redigeras i webbplatsomfånget, men om du växlar till standardomfånget för konfiguration går det inte att redigera det. Detta är resultatet av hur du anger alternativen i utvecklingssystemet. Värdet VAT Number kan inte redigeras i webbplatsomfånget.
  4. Om du inte redan har gjort det växlar du till Standardkonfigurationsomfång.

  5. Klicka på Kontakter under Allmänt i den vänstra navigeringen.

    Fältet Skicka e-post till kan inte redigeras, vilket visas i bilden nedan. Det här är en känslig inställning.

    Kontrollera inställningarna i produktionssystemet

  6. Klicka på Kunder > Kundkonfiguration i den vänstra rutan.

  7. Expandera Skapa nya kontoalternativ i den högra rutan.

    Värdet i fältet Standarddomän för e-post visas enligt följande. Detta är en systemspecifik inställning.

    Kontrollera inställningarna i produktionssystemet

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