Configuratie-instellingen overschrijven
Dit onderwerp bespreekt hoe te om een milieu veranderlijke naam af te leiden die een configuratiepad kent. U kunt de configuratie-instellingen van Adobe Commerce overschrijven met behulp van omgevingsvariabelen. U kunt bijvoorbeeld de waarde van de live URL van een betalingsprocessor overschrijven op uw productiesysteem.
U kunt de waarde van met voeten treden om het even welke configuratie die milieuvariabelen plaatst; nochtans, adviseert de Adobe u verenigbare montages gebruikend het gedeelde configuratiedossier, config.php
, en het systeem-specifieke configuratiedossier, env.php
, zoals besproken in het algemene overzicht van de Plaatsinghandhaaft.
Omgevingsvariabelen
Een omgevingsvariabele naam bestaat uit het bereik gevolgd door het configuratiepad in een bepaalde indeling. De volgende secties bespreken hoe te om een veranderlijke naam in detail te bepalen.
U kunt variabelen voor om het even welk van het volgende gebruiken:
-
Gevoelige waardenmoeten worden geplaatst gebruikend of omgevingsvariabelen of het
magento config:sensitive:set
bevel. -
Systeemspecifieke waarden moeten worden ingesteld met:
- Omgevingsvariabelen
- De opdracht
magento config:set
- De Admin die door het
magento app:config:dump
bevelwordt gevolgd
De wegen van de configuratie kunnen in worden gevonden:
Namen van variabelen
De algemene indeling van namen van systeeminstellingenvariabelen is als volgt:
<SCOPE>__<SYSTEM__VARIABLE__NAME>
<SCOPE>
kan als volgt zijn:
-
Globaal werkingsgebied (namelijk het globale plaatsen voor alle werkingsgebied)
Algemene bereikvariabelen hebben de volgende indeling:
CONFIG__DEFAULT__<SYSTEM__VARIABLE__NAME>
-
Een specifiek bereik (de instelling heeft dus alleen invloed op een opgegeven winkelweergave of website)
De variabelen van het het meningswerkingsgebied van de opslag, bijvoorbeeld, hebben het volgende formaat:
CONFIG__STORES__ <STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
Zie voor meer informatie over het bereik:
<SYSTEM__VARIABLE__NAME>
is het configuratiepad met dubbele onderstrepingstekens die worden vervangen door /
. Voor meer informatie, zie Stap 2: Plaats systeemvariabelen.
Variabele-indeling
<SCOPE>
wordt van <SYSTEM__VARIABLE__NAME>
door twee onderstrepingstekens gescheiden.
<SYSTEM__VARIABLE__NAME>
wordt afgeleid uit een configuratie die configuratieweg plaatst, die een /
afgebakend koord is dat uniek het plaatsen identificeert. Vervang elk /
-teken in het configuratiepad door twee onderstrepingstekens om de systeemvariabele te maken.
Als een configuratiepad een onderstrepingsteken bevat, blijft het onderstrepingsteken in de variabele.
Een volledige lijst met configuratiepaden vindt u in:
Stap 1: Zoek de waarde van het bereik van de website- of winkelweergave
Deze sectie bespreekt hoe u de waarden van de systeemconfiguratie per werkingsgebied (opslagmening of website) kunt vinden en plaatsen. Om globale werkingsgebiedvariabelen te plaatsen, zie Stap 2: Plaats globaal, website, of de variabelen van de opslagmening.
Bereik waarden zijn afkomstig uit de tabellen store
, store_group
en store_website
.
- De tabel
store
geeft de namen en codes van de winkelweergave op - De tabel
store_website
geeft de namen en codes van websites op
U kunt de codewaarden ook vinden gebruikend Admin.
De tabel lezen:
-
Path in Admin
columnWaarden vóór de komma zijn paden in de beheerdersnavigatie. Waarden na de komma zijn opties in het rechterdeelvenster.
-
Variable name
kolom is de naam van de overeenkomstige omgevingsvariabele.U kunt desgewenst systeemwaarden voor deze configuratieparameters opgeven als omgevingsvariabelen.
- De volledige variabelenaam is altijd ALL CAPS
- Een variabelenaam beginnen met
CONFIG__
(twee onderstrepingstekens noteren) - U kunt het gedeelte
<STORE_VIEW_CODE>
of<WEBSITE_CODE>
van een variabelenaam vinden in de beheerdersdatabase of in de Commerce-database, zoals aangegeven in de volgende secties. - U kunt
<SYSTEM__VARIABLE__NAME>
vinden zoals die in Stap 2 wordt besproken: Plaats globaal, website, of de variabelen van de opslagmening.
Een website of weergavebereik van de winkel zoeken in Admin
In de volgende tabel ziet u hoe u naar een website kunt zoeken of de weergavewaarde kunt opslaan in Admin.
CONFIG__STORES__<STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
CONFIG__WEBSITES__<WEBSITE_CODE>__<SYSTEM__VARIABLE__NAME>
Als u bijvoorbeeld een website wilt zoeken of een waarde voor het weergavebereik wilt opslaan in Admin:
-
Meld u aan bij de beheerder als een gebruiker die geautoriseerd is om websites te bekijken.
-
Klik Stores > All Stores.
-
Klik op de naam van een website- of opslagweergave.
Het rechterdeelvenster wordt op vergelijkbare wijze weergegeven als het volgende.
-
De bereiknaam wordt weergegeven in het veld Code .
-
Ga met Stap 2 verder: Plaats globale, website, of de variabelen van de opslagmening.
Een website zoeken of weergavebereik in de database opslaan
Deze waarden ophalen uit de database:
-
Meld u als eigenaar van het bestandssysteem aan bij uw ontwikkelsysteem als u dat nog niet hebt gedaan.
-
Voer de volgende opdracht in:
code language-bash mysql -u <database-username> -p
-
Voer bij de aanwijzing
mysql>
de volgende opdrachten in de getoonde volgorde in:code language-shell use <database-name>;
-
Gebruik de volgende SQL-query's om de relevante waarden te zoeken:
code language-shell SELECT * FROM STORE; SELECT * FROM STORE_WEBSITE;
Hieronder volgt een monster:
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 | +------------+-------+--------------+------------+------------------+------------+
-
Gebruik de waarde uit de kolom
code
als de naam van het bereik, niet de waardename
.Als u bijvoorbeeld een configuratievariabele wilt instellen voor Testwebsite, gebruikt u de volgende indeling:
code language-shell CONFIG__WEBSITES__TEST1__<SYSTEM__VARIABLE__NAME>
waarbij
<SYSTEM__VARIABLE__NAME>
afkomstig is uit de volgende sectie.
Stap 2: globale variabelen, website- of opslagweergavevariabelen instellen
In deze sectie wordt besproken hoe systeemvariabelen moeten worden ingesteld.
-
Als u waarden wilt instellen voor het algemene bereik (dat wil zeggen alle websites, winkels en winkelweergaven), start u de naam van de variabele met
CONFIG__DEFAULT__
. -
Om een waarde voor een bepaalde opslagmening of een website te plaatsen, begin de veranderlijke naam zoals die in Stap 1 wordt besproken: Vind de werkingsgebiedwaarde:
CONFIG__WEBSITES
CONFIG__STORES
-
Het laatste deel van de variabelenaam is de configuratiepad, die uniek is voor elke configuratie-instelling.
In de volgende tabel staan enkele voorbeeldvariabelen.
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
<SCOPE>__CATALOG__SEARCH__ELASTICSEARCH_SERVER_PORT
<SCOPE>__SHIPPING__ORIGIN__COUNTRY_ID
<SCOPE>__ADMIN__URL__CUSTOM
<SCOPE>__ADMIN__URL__CUSTOM_PATH
Voorbeelden
In deze sectie ziet u hoe u waarden van bepaalde voorbeeldvariabelen kunt vinden.
hostnaam server Elasticsearch
U kunt als volgt de variabelenaam zoeken voor globale minificatie van HTML:
-
Bepaal het bereik.
Het is het algemene bereik, dus de naam van de variabele begint met
CONFIG__DEFAULT__
-
De rest van de variabelenaam is
CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
.Resultaat: De veranderlijke naam is
CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
Land van verzending
U kunt als volgt de variabelenaam zoeken voor de oorsprong van het verzendland:
-
Bepaal het bereik.
Vind het werkingsgebied in het gegevensbestandzoals die in Stap 1 wordt besproken: Vind de website of waarde van het het werkingsgebied van de opslagmening. (U kunt de waarde in Admin zoals aangetoond in de [ lijst in Stap 2 ook vinden: Plaats globale, website, of de variabelen van de opslagmening ] (#step-2-set-global-website-or-store-view-variables.
Het bereik kan bijvoorbeeld
CONFIG__WEBSITES__DEFAULT
zijn. -
De rest van de variabelenaam is
SHIPPING__ORIGIN__COUNTRY_ID
.Resultaat: De veranderlijke naam is
CONFIG__WEBSITES__DEFAULT__SHIPPING__ORIGIN__COUNTRY_ID
Omgevingsvariabelen gebruiken
Stel configuratiewaarden in als variabelen met behulp van de $_ENV
associated array van PHP. U kunt de waarden instellen in elk PHP script dat wordt uitgevoerd wanneer Commerce wordt uitgevoerd.
index.php
of pub/index.php
werkt niet altijd zoals verwacht, omdat verschillende ingangspunten van de toepassing kunnen worden gebruikt, afhankelijk van de configuratie van de webserver. Door $_ENV
-instructies in het app/bootstrap.php
-bestand te plaatsen, ongeacht de verschillende ingangspunten van de toepassing, worden de $_ENV
-instructies altijd uitgevoerd omdat het app/bootstrap.php
-bestand wordt geladen als onderdeel van de Commerce-architectuur.Hierna volgt een voorbeeld van het instellen van twee $_ENV
-waarden:
$_ENV['CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME'] = 'http://search.example.com';
$_ENV['CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__MERCHANT_VAT_NUMBER'] = '1234';
Een geleidelijke voorbeeld wordt getoond in Vastgestelde configuratiewaarden gebruikend omgevingsvariabelen.
-
Als u waarden wilt gebruiken die u instelt in de array
$_ENV
, moet uvariables_order = "EGPCS"
(Environment, Get, Post, Cookie en Server) in uwphp.ini
-bestand instellen. Voor details, zie PHP documentatie. -
Voor Adobe Commerce op wolkeninfrastructuur, als u probeert om configuratiemontages met voeten te treden gebruikend de Interface van het Web van het Project, moet u de veranderlijke naam met
env:
prepend. Bijvoorbeeld: