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:
-
Logga in på Admin.
-
Klicka på Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt.
-
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.
-
Expandera Lagra information i den högra rutan.
-
Om det behövs avmarkerar du kryssrutan Använd standard bredvid fältet Momsnummer.
-
Ange ett tal i fältet (till exempel
12345
). -
Ange ett värde (till exempel
My Store
) i fältet Butiksnamn. -
Klicka på Spara konfiguration.
-
Använd listan Butiksvy för att välja Standardkonfiguration enligt bilden nedan.
-
Klicka på Kontakter under Allmänt i den vänstra navigeringen.
-
Avmarkera kryssrutan Använd standard bredvid fältet Skicka e-post till.
-
Ange en e-postadress i fältet.
-
Klicka på Spara konfiguration.
-
Klicka på Kunder > Kundkonfiguration i den vänstra rutan.
-
Expandera Skapa nya kontoalternativ i den högra rutan.
-
Avmarkera kryssrutan Använd systemvärde intill fältet Standarddomän för e-post.
-
Ange ett domännamn i fältet.
-
Klicka på Spara konfiguration.
-
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:
-
Logga in på utvecklingssystemet som ägare av filsystemet eller växla till det.
-
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
-
Bekräfta att
app/etc/config.php
har uppdaterats.code language-bash git status
Exempelsvar:
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 Skicka inte ändringar i katalogerna generated
,pub/media
ellerpub/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. -
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:
-
Logga in på byggsystemet som ägare av filsystemet.
-
Byt till programmets rotkatalog.
code language-bash cd <Magento root dir>
-
Dra in ändringarna i
app/etc/config.php
från källkontrollen.code language-bash git pull mconfig m2.2_deploy
-
Kompilera kod.
code language-bash bin/magento setup:di:compile
-
Generera statiska vyfiler när koden har kompilerats.
code language-bash bin/magento setup:static-content:deploy -f
-
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:
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 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:
-
Logga in i produktionssystemet som, eller växla till, ägare av filsystemet.
-
Öppna
<Commerce root dir>/pub/index.php
i en textredigerare. -
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';
-
Spara ändringarna i
pub/index.php
och avsluta textredigeraren. -
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:
-
Logga in i produktionssystemet som filsystemsägare.
-
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
. -
Stoppa alla köarbetare som körs genom att ange
cron_run
tillfalse
iapp/etc/env.php
enligt följande:code language-php?start_inline=1 'cron_consumers_runner' => [ 'cron_run' => false ]
-
Uppdatera konfigurationen.
code language-bash bin/magento app:config:import
-
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
-
Dra in kod från källkontrollen.
code language-bash git pull mconfig m2.2_deploy
-
Uppdatera konfigurationen.
code language-bash bin/magento app:config:import
-
Rensa cachen.
code language-bash bin/magento cache:clean
-
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:
-
Logga in i produktionssystemets administratör.
-
Klicka på Lagrar > Inställningar > Konfiguration > Allmänt > Allmänt.
-
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.
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. -
Om du inte redan har gjort det växlar du till Standardkonfigurationsomfång.
-
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.
-
Klicka på Kunder > Kundkonfiguration i den vänstra rutan.
-
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.