Beheer van winkelconfiguratie
De standaardconfiguraties voor uw opslag worden opgeslagen in een config.xml
voor de aangewezen module. Wanneer u de instellingen wijzigt in Commerce Admin of de CLI-opdracht bin/magento config:set
, worden de wijzigingen weerspiegeld in de kerndatabase, met name in de core_config_data
-tabel. Deze instellingen overschrijven de standaardconfiguraties die in het config.xml
-bestand zijn opgeslagen.
De montages van de opslag, die naar de configuraties in Admin verwijzen Slaat > Montages > de sectie van de Configuratie, worden opgeslagen in de dossiers van de plaatsingsconfiguratie die op het type van configuratie worden gebaseerd:
app/etc/config.php
- configuratie-instellingen voor winkels, websites, modules of extensies, statische optimalisatie van bestanden en systeemwaarden met betrekking tot de implementatie van statische inhoud. Zie de {🔗 referentie 0} config.php in de Gids van de Configuratie.app/etc/env.php
- waarden voor systeem-specifieke met voeten treedt en gevoelige montages die NIET in broncontrole zouden moeten worden opgeslagen. Zie env.php verwijzingin de Gids van de Configuratie.
Het beheer van de configuratie verstrekt een manier om verenigbare opslagmontages over uw milieu's met minimale onderbreking op te stellen gebruikend de plaatsing van de Pijpleiding. Adobe Commerce op het project van de wolkeninfrastructuur omvat de bouwstijlserver, bouwt en stelt manuscripten, en plaatsingsmilieu's op die met de strategie van de pijpleidingsplaatsingin mening worden ontworpen.
Configuratieoverschrijvingsschema
Alle systeemconfiguraties worden ingesteld tijdens de bouw- en implementatiefasen volgens het volgende overschrijfschema:
- Als een omgevingsvariabele bestaat, gebruikt u de aangepaste configuratie en negeert u de standaardconfiguratie.
- Als een milieuvariabele niet bestaat, gebruik de configuratie van een
MAGENTO_CLOUD_RELATIONSHIPS
naam-waarde paar in het.magento.app.yaml
dossier. De standaardconfiguratie negeren. - Als een omgevingsvariabele niet bestaat en
MAGENTO_CLOUD_RELATIONSHIPS
geen naam-waardepaar bevat, verwijdert u alle aangepaste configuratie en gebruikt u de waarden uit de standaardconfiguratie.
Samengevat overschrijven omgevingsvariabelen alle andere waarden.
Als het zelfde plaatsen in veelvoudige plaatsen wordt gevormd, baseert de toepassing zich op de volgende configuratiehiërarchie om te bepalen welke waarde op het milieu van toepassing is:
Methode
omgevingsvariabelen
.magento.app.yaml
variables
van het .magento.app.yaml
-bestand. Geef hier waarden op voor een consistente configuratie in alle omgevingen. specificeer geen gevoelige waarden in het .magento.app.yaml
dossier. zie montages van de Toepassing.app/etc/env.php
app:config:dump
. Plaats de systeem-specifieke en gevoelige waarden gebruikend omgevingsvariabelen of CLI. Zie Gevoelige gegevens. Het env.php
dossier is niet inbegrepen in broncontrole.app/etc/config.php
app:config:dump
. De gedeelde configuratiewaarden worden toegevoegd aan config.php
. Stel de gedeelde configuratie in via de beheerfunctie of via de CLI. Het config.php
-bestand wordt opgenomen in het bronbesturingselement.config.xml
config.xml
-bestand voor een module. Als Adobe Commerce geen waarde kan vinden die door een van de voorgaande methoden is ingesteld, wordt de standaardwaarde (indien ingesteld) geretourneerd.Configuratiedrukschijf
U kunt de volgende opdracht ece-tools
gebruiken om een config.php
-bestand te genereren dat alle huidige opslagconfiguraties bevat:
./vendor/bin/ece-tools config:dump
De gegevens "gedumpt"aan het app/etc/config.php
dossier worden gesloten, wat het overeenkomstige gebied in Commerce Admin read-only betekent. Het bestand config.php
bevat alleen de instellingen die u configureert. De standaardwaarden worden niet vergrendeld. Door alleen de waarden te vergrendelen die u bijwerkt, zorgt u ervoor dat alle extensies die worden gebruikt in de omgevingen voor Staging en Productie niet worden verbroken door alleen-lezen configuraties, met name snel.
ece-tools config:dump
haalt geen gedetailleerde configuraties voor modules op, zoals B2B. Als u een uitvoerige configuratiestortplaats nodig hebt, gebruik het app:config:dump
bevel, maar dit bevel vergrendelt configuratiewaarden in een read-only staat.Gevoelige gegevens
Alle gevoelige configuraties worden naar het app/etc/env.php
-bestand geëxporteerd wanneer u de opdracht bin/magento app:config:dump
gebruikt. U kunt vertrouwelijke waarden plaatsen gebruikend het CLI bevel: bin/magento config:sensitive:set
. Zie Gevoelige en milieu-specifieke montagesin de gids van de Uitbreidingen van Commerce PHP leren hoe te om configuratiemontages als gevoelig of systeem-specifiek aan te wijzen.
Zie een lijst van Gevoelige of systeem-specifieke montagesin de Gids van de Configuratie.
SCD-prestaties
Afhankelijk van de grootte van uw winkel, hebt u mogelijk een groot aantal statische inhoudsbestanden om te implementeren. Normaalgesproken wordt statische inhoud tijdens de implementatiefase geïmplementeerd wanneer de toepassing zich in de onderhoudsmodus bevindt. De meest optimale configuratie moet statische inhoud tijdens de bouwstijlfase produceren. Zie Kiezen opstellen strategie.
Als u het Beheer van de Configuratie na het dumpen van de configuraties hebt toegelaten, zou u de variabelen SCD_* van het opstellen stadium aan het bouwstijlstadium moeten bewegen om statische inhoudsgeneratie tijdens de bouwstijlfase behoorlijk toe te laten. Zie variabelen van het Milieu.
vóór het Beheer van de Configuratie:
deploy:
CRON_CONSUMERS_RUNNER:
cron_run: true
consumers: []
SCD_STRATEGY: compact
SCD_MATRIX:
...
REDIS_USE_SLAVE_CONNECTION: 1
na het toelaten van het Beheer van de Configuratie:
Verplaats de variabelen SCD_* naar het bouwstijlstadium:
deploy:
CRON_CONSUMERS_RUNNER:
cron_run: true
consumers: []
REDIS_USE_SLAVE_CONNECTION: 1
build:
SCD_STRATEGY: compact
SCD_MATRIX:
...
Procedure voor het beheren van uw instellingen
Hieronder ziet u een overzicht op hoog niveau van dit proces:
om uw opslag te vormen en een configuratiedossier te produceren:
-
Voltooi alle configuraties voor uw winkels in Admin voor een van de omgevingen:
- Starter: een actieve ontwikkelingstak
- Pro: Een actieve vertakking in de integratieomgeving
Deze configuraties omvatten niet de daadwerkelijke producten tenzij u van plan bent om het gegevensbestand van dit milieu aan het Opvoeren en de milieu's van de Productie te dumpen. Doorgaans bevatten ontwikkelingsdatabases niet uw volledige opslaggegevens.
-
Wijzig op uw lokale werkstation de projectmap.
-
Creeer een lokale stortplaats van het verre gegevensbestand.
code language-bash magento-cloud db:dump
-
Wijzigingen in code toevoegen, toewijzen en doorvoeren om een externe omgeving bij te werken.
code language-bash git add app/etc/config.php
code language-bash git commit -m "Add system-specific configuration"
code language-bash git push origin <branch-name>
Nadat de implementatie is voltooid, meldt u zich aan bij de beheerder voor de bijgewerkte omgeving om de instellingen te controleren. Ga door met het samenvoegen van eventuele aanvullende configuraties in de omgevingen Staging en Productie.
Configuraties bijwerken
Wanneer u de omgeving wijzigt via Beheer en de opdracht opnieuw uitvoert, worden nieuwe configuraties toegevoegd aan de code in het config.php
-bestand.
config.php
dossier in de het Opvoeren en milieu's van de Productie manueel kunt uitgeven, wordt het niet geadviseerd. Het bestand helpt alle configuraties in alle omgevingen consistent te houden. Verwijder het config.php
-bestand nooit om het opnieuw samen te stellen. Als u het bestand verwijdert, worden mogelijk specifieke configuraties en instellingen verwijderd die vereist zijn voor het samenstellen en implementeren van processen.Configuratiebestanden herstellen
Kopieën van de oorspronkelijke app/etc/env.php
- en app/etc/config.php
-bestanden zijn gemaakt tijdens het implementatieproces en in dezelfde map opgeslagen. Hieronder ziet u de BAK (back-upbestanden) en PHP (oorspronkelijke bestanden) in dezelfde map app/etc
:
...
config.php.bak
di.xml
env.php.bak
vendor_path.php
config.php
db_schema.xml
env.php
...
Oudere configuraties hebben het bestand app/etc/config.local.php
gebruikt. Zie oudere configuraties migreren.
om configuratiedossiers te herstellen:
-
Voor uw lokale werkstation, gebruik SSH aan login aan het verre project en het milieu.
code language-bash magento-cloud ssh
-
De locatie en beschikbaarheid van de back-upbestanden controleren.
code language-bash ./vendor/bin/ece-tools backup:list
Monsterrespons:
code language-none The list of backup files: app/etc/env.php app/etc/config.php
-
Back-upbestanden herstellen.
code language-bash ./vendor/bin/ece-tools backup:restore
Oudere configuraties migreren
Als u een upgrade uitvoert naar Adobe Commerce op cloudinfrastructuur 2.2 of hoger, kunt u instellingen uit het config.local.php
-bestand migreren naar het nieuwe config.php
-bestand. Als de configuratie-instellingen in uw beheerder overeenkomen met de inhoud van het bestand, volgt u de instructies om het config.php
-bestand te genereren en toe te voegen.
Als deze verschillen, kunt u inhoud uit het config.local.php
-bestand toevoegen aan uw nieuwe config.php
-bestand:
-
Volg de instructies om het
config.php
-bestand te genereren. -
Open het bestand
config.php
en verwijder de laatste regel. -
Open het
config.local.php
-bestand en kopieer de inhoud. -
Plak de inhoud in het
config.php
-bestand, sla het bestand op en voeg het toe aan Git. -
Implementeer in uw omgeving.
U voltooit deze migratie maar één keer. Na de migratie gebruikt u het bestand config.php
.
Landinstellingen wijzigen
U kunt uw opslagscènes veranderen zonder een complex configuratieinvoer en uitvoerproces te volgen, als u SCD_ON_DEMANDtoegelaten hebt. U kunt de landinstellingen bijwerken met de beheerfunctie.
U kunt een andere landinstelling toevoegen aan de omgeving Staging of Production door SCD_ON_DEMAND
in te schakelen in een integratietak, een bijgewerkt config.php
-bestand te genereren met de nieuwe landinstellingsinformatie en het configuratiebestand te kopiëren naar de doelomgeving.
-
In het integratiemilieu, laat
SCD_ON_DEMAND
variabele toe gebruikend het.magento.env.yaml
dossier. -
Voeg de vereiste landinstellingen toe met uw beheerder.
-
Gebruik SSH om u aan te melden bij de externe omgeving en het
/app/etc/config.php
-bestand te genereren dat alle landinstellingen bevat.code language-bash ssh <SSH-URL> "./vendor/bin/ece-tools config:dump"
-
Kopieer het nieuwe configuratiedossier van de verre integratiemilieu aan uw lokale milieufolder.
code language-bash rsync <SSH-URL>:app/etc/config.php ./app/etc/config.php
-
Wijzigingen in code toevoegen, toewijzen en doorvoeren om een externe omgeving bij te werken.