Åsidosätt konfigurationsinställningar

I det här avsnittet beskrivs hur du härleder ett miljövariabelnamn med hjälp av en konfigurationssökväg. Du kan åsidosätta Adobe Commerce konfigurationsinställningar med hjälp av systemvariabler. Du kan till exempel åsidosätta värdet för en betalares live-URL i produktionssystemet.

Du kan åsidosätta värdet för konfigurationsinställningen any med hjälp av systemvariabler, men Adobe rekommenderar att du behåller konsekventa inställningar med hjälp av den delade konfigurationsfilen config.php och den systemspecifika konfigurationsfilen env.php, vilket beskrivs i Allmän distributionsöversikt.

TIP
Ta en titt på ämnet Konfigurera miljöer i guiden Commerce om molninfrastruktur.

Miljövariabler

Ett miljövariabelnamn består av dess omfång följt av dess konfigurationssökväg i ett visst format. I följande avsnitt beskrivs mer ingående hur du fastställer ett variabelnamn.

Du kan använda variabler för något av följande:

Konfigurationssökvägar finns i:

Variabelnamn

Det allmänna formatet för systeminställningens variabelnamn följer:

<SCOPE>__<SYSTEM__VARIABLE__NAME>

<SCOPE> kan vara antingen:

<SYSTEM__VARIABLE__NAME> är konfigurationssökvägen med två understreck i stället för /. Mer information finns i Steg 2: Ange systemvariabler.

Variabelformat

<SCOPE> separeras från <SYSTEM__VARIABLE__NAME> med två understreck.

<SYSTEM__VARIABLE__NAME> härleds från en konfigurationsinställnings konfigurationssökväg, som är en / avgränsad sträng som unikt identifierar en viss inställning. Ersätt varje /-tecken i konfigurationssökvägen med två understreck för att skapa systemvariabeln.

Om en konfigurationssökväg innehåller ett understreck finns understreck kvar i variabeln.

En fullständig lista över konfigurationssökvägar finns i:

Steg 1: Hitta omfångsvärdet för webbplatsen eller butiksvyn

I det här avsnittet beskrivs hur du kan hitta och ange systemkonfigurationsvärden per scope (butiksvy eller webbplats). Information om hur du anger globala omfångsvariabler finns i Steg 2: Ange globala variabler, webbplatsvariabler eller butiksvyvariabler.

Omfångsvärden kommer från tabellerna store, store_group och store_website.

  • Tabellen store anger namn och koder för butiksvyn
  • Tabellen store_website anger webbplatsnamn och koder

Du kan också hitta kodvärdena med hjälp av Admin.

Så här läser du tabellen:

  • Path in Admin-kolumn

    Värden före kommatecken är sökvägar i Admin-navigeringen. Värden efter kommatecken är alternativ i den högra rutan.

  • Variable name-kolumnen är namnet på motsvarande miljövariabel.

    Du kan ange systemvärden för dessa konfigurationsparametrar som systemvariabler om du vill.

    • Hela variabelnamnet är alltid ALL CAPS
    • Starta ett variabelnamn med CONFIG__ (observera två understreck)
    • Du kan hitta delen <STORE_VIEW_CODE> eller <WEBSITE_CODE> av ett variabelnamn i antingen Admin- eller Commerce-databasen, vilket visas i följande avsnitt.
    • Du kan hitta <SYSTEM__VARIABLE__NAME> enligt beskrivningen i Steg 2: Ange globala variabler, webbplatsvariabler eller butiksvyvariabler.

Hitta en webbplats eller ett butiksvyomfång i administratören

I följande tabell sammanfattas hur du söker efter webbplatsvyvärden eller butiksvyvärden i Admin.

Beskrivning
Sökväg i Admin
Variabelnamn
Skapa, redigera och ta bort butiksvyer
Stores > All Stores
CONFIG__STORES__<STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
Skapa, redigera och ta bort webbplatser
Stores > All Stores
CONFIG__WEBSITES__<WEBSITE_CODE>__<SYSTEM__VARIABLE__NAME>

Om du till exempel vill hitta ett värde för webbplatsens eller butikens visningsomfång i Admin:

  1. Logga in på administratören som en användare som har behörighet att visa webbplatser.

  2. Klicka på Stores > All Stores.

  3. Klicka på namnet på en webbplats eller butiksvy.

    Den högra rutan visas på ungefär följande sätt.

    Hitta en webbplatskod

  4. Omfångsnamnet visas i fältet Code.

  5. Fortsätt med Steg 2: Ange globala variabler, webbplatsvariabler eller butiksvyvariabler.

Söka efter en webbplats eller en butiksvy i databasen

Så här hämtar du dessa värden från databasen:

  1. Logga in på utvecklingssystemet som filsystemsägare om du inte redan har gjort det.

  2. Ange följande kommando:

    code language-bash
    mysql -u <database-username> -p
    
  3. Vid uppmaningen mysql> anger du följande kommandon i den ordning som visas:

    code language-shell
    use <database-name>;
    
  4. Använd följande SQL-frågor för att hitta relevanta värden:

    code language-shell
    SELECT * FROM STORE;
    SELECT * FROM STORE_WEBSITE;
    

    Ett exempel följer:

    code language-shell
    mysql> SELECT * FROM STORE_WEBSITE;
    +------------+-------+--------------+------------+------------------+------------+
    | website_id | code  | name         | sort_order | default_group_id | is_default |
    +------------+-------+--------------+------------+------------------+------------+
    |          0 | admin | Admin        |          0 |                0 |          0 |
    |          1 | base  | Main Website |          0 |                1 |          1 |
    |          2 | test1 | Test Website |          0 |                3 |          0 |
    +------------+-------+--------------+------------+------------------+------------+
    
  5. Använd värdet från kolumnen code som scopenamn, inte värdet name.

    Om du till exempel vill ange en konfigurationsvariabel för Testwebbplats använder du följande format:

    code language-shell
    CONFIG__WEBSITES__TEST1__<SYSTEM__VARIABLE__NAME>
    

    där <SYSTEM__VARIABLE__NAME> kommer från nästa avsnitt.

Steg 2: Ange globala variabler, webbplatsvariabler eller butiksvyvariabler

I det här avsnittet beskrivs hur du ställer in systemvariabler.

  • Om du vill ange värden för det globala omfånget (dvs. alla webbplatser, butiker och butiksvyer) startar du variabelnamnet med CONFIG__DEFAULT__.

  • Om du vill ange ett värde för en viss butiksvy eller webbplats startar du variabelnamnet enligt beskrivningen i Steg 1: Hitta omfångsvärdet:

    • CONFIG__WEBSITES
    • CONFIG__STORES
  • Den sista delen av variabelnamnet är konfigurationssökvägen, som är unik för varje konfigurationsinställning.

Se några exempel.

I följande tabell visas några exempelvariabler.

Beskrivning
Sökväg i Admin (utelämnar Lagrar > Inställningar > Konfiguration)
Variabelnamn
Värdnamn för Elasticsearch-server
Katalog > Katalog, värdnamn för Elasticsearch-server
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
Elasticsearch serverport
Katalog > Katalog, Elasticsearch-serverport
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_PORT
Leveranslands ursprung
Försäljning > Leveransinställningar
<SCOPE>__SHIPPING__ORIGIN__COUNTRY_ID
URL för anpassad administratör
Avancerat > Admin
<SCOPE>__ADMIN__URL__CUSTOM
Anpassad administratörssökväg
Avancerat > Admin
<SCOPE>__ADMIN__URL__CUSTOM_PATH

Exempel

I det här avsnittet visas hur du söker efter värden för vissa exempelvariabler.

Värdnamn för Elasticsearch-server

Så här hittar du variabelnamnet för global minification i HTML:

  1. Bestäm omfattningen.

    Det är det globala omfånget så variabelnamnet börjar med CONFIG__DEFAULT__

  2. Resten av variabelnamnet är CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME.

    Resultat: Variabelnamnet är CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME

Leveranslands ursprung

Så här hittar du variabelnamnet för ursprungsland:

  1. Bestäm omfattningen.

    Hitta omfånget i databasen enligt beskrivningen i steg 1: Hitta omfångsvärdet för webbplatsen eller butiksvyn. (Du kan också hitta värdet i Admin enligt tabellen i steg 2: Ange globala variabler, webbplatsvariabler eller butiksvyvariabler

    Omfånget kan till exempel vara CONFIG__WEBSITES__DEFAULT.

  2. Resten av variabelnamnet är SHIPPING__ORIGIN__COUNTRY_ID.

    Resultat: Variabelnamnet är CONFIG__WEBSITES__DEFAULT__SHIPPING__ORIGIN__COUNTRY_ID

Så här använder du miljövariabler

Ange konfigurationsvärden som variabler med PHP:s $_ENV -associerade array. Du kan ange värden i alla PHP-skript som körs när Commerce körs.

TIP
Att ange variabelvärden i index.php eller pub/index.php fungerar inte alltid som förväntat eftersom olika programstartpunkter kan användas beroende på webbserverkonfigurationen. Genom att placera $_ENV direktiv i filen app/bootstrap.php, oavsett vilka programstartpunkter som är olika, körs alltid $_ENV -direktiven eftersom filen app/bootstrap.php läses in som en del av Commerce-arkitekturen.

Ett exempel på hur du ställer in två $_ENV-värden följer:

$_ENV['CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME'] = 'http://search.example.com';
$_ENV['CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__MERCHANT_VAT_NUMBER'] = '1234';

Ett steg-för-steg-exempel visas i Ange konfigurationsvärden med hjälp av miljövariabler.

WARNING
  • Om du vill använda värden som du anger i $_ENV-arrayen måste du ange variables_order = "EGPCS"(Environment, Get, Post, Cookie och Server) i php.ini-filen. Mer information finns i PHP-dokumentation.

  • Om du försöker åsidosätta konfigurationsinställningarna med Project Web Interface för Adobe Commerce i molninfrastruktur måste du lägga till variabelnamnet som env:. Exempel:

Exempel på miljövariabel
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c