Substituir definições de configuração
Este tópico discute como derivar um nome de variável de ambiente conhecendo um caminho de configuração. Você pode substituir as definições de configuração do Adobe Commerce usando variáveis de ambiente. Por exemplo, você pode substituir o valor do URL ativo de um processador de pagamento em seu sistema de produção.
É possível substituir o valor de qualquer configuração usando variáveis de ambiente; no entanto, o Adobe recomenda que você mantenha configurações consistentes usando o arquivo de configuração compartilhado, config.php
e o arquivo de configuração específico do sistema, env.php
, conforme discutido em Visão geral da implantação.
Variáveis de ambiente
Um nome de variável de ambiente consiste em seu escopo seguido por seu caminho de configuração em um formato específico. As seções a seguir discutem como determinar um nome de variável com mais detalhes.
É possível usar variáveis para qualquer um dos seguintes:
-
Valores sensíveis deve ser definido usando as variáveis de ambiente ou a variável
magento config:sensitive:set
comando. -
Os valores específicos do sistema devem ser definidos usando:
- Variáveis de ambiente
- A variável
magento config:set
comando - O Administrador seguido pela
magento app:config:dump
comando
Os caminhos de configuração podem ser encontrados em:
Nomes de variáveis
O formato geral dos nomes das variáveis de configurações do sistema é o seguinte:
<SCOPE>__<SYSTEM__VARIABLE__NAME>
<SCOPE>
pode ser:
-
Escopo global (ou seja, a configuração global para all escopos)
As variáveis de escopo globais têm o seguinte formato:
CONFIG__DEFAULT__<SYSTEM__VARIABLE__NAME>
-
Um escopo específico (ou seja, a configuração afeta apenas uma exibição de loja ou site especificado)
As variáveis de escopo de visualização de armazenamento, por exemplo, têm o seguinte formato:
CONFIG__STORES__ <STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
Para obter mais informações sobre escopos, consulte:
<SYSTEM__VARIABLE__NAME>
é o caminho de configuração com caracteres de sublinhado duplo substituído por /
. Para obter mais informações, consulte Etapa 2: definir variáveis do sistema.
Formato da variável
<SCOPE>
é separado de <SYSTEM__VARIABLE__NAME>
por dois caracteres sublinhados.
<SYSTEM__VARIABLE__NAME>
é derivado de uma configuração do caminho de configuração, que é uma /
string delimitada que identifica exclusivamente uma configuração específica. Substituir cada /
caractere no caminho de configuração com dois caracteres sublinhados para criar a variável de sistema.
Se um caminho de configuração contiver um caractere de sublinhado, ele permanecerá na variável.
Uma lista completa de caminhos de configuração pode ser encontrada em:
Etapa 1: Localizar o valor do escopo de exibição do site ou da loja
Esta seção discute como você pode encontrar e definir valores de configuração do sistema por escopo (visualização de loja ou site). Para definir variáveis de escopo globais, consulte Etapa 2: definir variáveis de exibição globais, de site ou de loja.
Os valores de escopo vêm da variável store
, store_group
, e store_website
tabelas.
- A variável
store
a tabela especifica nomes e códigos de exibição da loja - A variável
store_website
a tabela especifica nomes e códigos de sites
Você também pode encontrar os valores do código usando o Admin.
Como ler a tabela:
-
Path in Admin
colunaOs valores antes da vírgula são caminhos na navegação de Admin. Os valores depois da vírgula são opções no painel direito.
-
Variable name
column é o nome da variável de ambiente correspondente.Você tem a opção de especificar valores do sistema para esses parâmetros de configuração como variáveis de ambiente, se desejar.
- O nome inteiro da variável é sempre ALL CAPS
- Iniciar um nome de variável com
CONFIG__
(observe dois caracteres sublinhados) - Você pode encontrar o
<STORE_VIEW_CODE>
ou<WEBSITE_CODE>
parte de um nome de variável no banco de dados de Administração ou Comércio, conforme indicado nas seções a seguir. - Você pode encontrar
<SYSTEM__VARIABLE__NAME>
conforme discutido em Etapa 2: definir variáveis de exibição globais, de site ou de loja.
Localizar um escopo de exibição de site ou loja no Administrador
A tabela a seguir resume como localizar o site ou armazenar o valor da exibição no Administrador.
CONFIG__STORES__<STORE_VIEW_CODE>__<SYSTEM__VARIABLE__NAME>
CONFIG__WEBSITES__<WEBSITE_CODE>__<SYSTEM__VARIABLE__NAME>
Por exemplo, para localizar um site ou um valor de escopo de exibição de loja no campo Admin:
-
Faça logon no Administrador como um usuário autorizado a visualizar sites.
-
Clique em Stores > All Stores.
-
Clique no nome de um site ou exibição de loja.
O painel direito é exibido de forma semelhante ao seguinte.
-
O nome do escopo é exibido no campo Code campo.
-
Continuar com Etapa 2: definir variáveis de exibição globais, de site ou de loja.
Localizar um escopo de exibição de site ou loja no banco de dados
Para obter esses valores do banco de dados:
-
Faça logon no sistema de desenvolvimento como proprietário do sistema de arquivos, se ainda não tiver feito isso.
-
Digite o seguinte comando:
code language-bash mysql -u <database-username> -p
-
No
mysql>
digite os seguintes comandos na ordem mostrada:code language-shell use <database-name>;
-
Use as seguintes consultas SQL para localizar os valores relevantes:
code language-shell SELECT * FROM STORE; SELECT * FROM STORE_WEBSITE;
A seguir, há uma amostra:
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 | +------------+-------+--------------+------------+------------------+------------+
-
Use o valor do
code
como o nome do escopo, não aname
valor.Por exemplo, para definir uma variável de configuração para o Site de teste, use o seguinte formato:
code language-shell CONFIG__WEBSITES__TEST1__<SYSTEM__VARIABLE__NAME>
onde
<SYSTEM__VARIABLE__NAME>
vem da próxima seção.
Etapa 2: definir variáveis de exibição globais, de site ou de loja
Esta seção discute como definir variáveis do sistema.
-
Para definir valores para o escopo global (ou seja, todos os sites, lojas e visualizações de loja), inicie o nome da variável com
CONFIG__DEFAULT__
. -
Para definir um valor para uma exibição de loja ou site específico, inicie o nome da variável, conforme discutido em Etapa 1: encontrar o valor do escopo:
CONFIG__WEBSITES
CONFIG__STORES
-
A última parte do nome da variável é o caminho de configuração, que é exclusivo para cada definição de configuração.
A tabela a seguir mostra alguns exemplos de variáveis.
<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
Exemplos
Esta seção mostra como localizar valores de algumas variáveis de exemplo.
nome de host do servidor Elasticsearch
Para localizar o nome da variável para a minificação do HTML global:
-
Determine o escopo.
É o escopo global, portanto, o nome da variável começa com
CONFIG__DEFAULT__
-
O restante do nome da variável é
CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
.Resultado: o nome da variável é
CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME
Origem do país de remessa
Para localizar o nome da variável para a origem do país de entrega:
-
Determine o escopo.
Encontre o escopo na banco de dados conforme discutido na Etapa 1: Encontre o valor do escopo de exibição do site ou da loja. (Você também pode encontrar o valor no Administrador, como mostrado na [tabela na Etapa 2: definir variáveis de exibição globais, de site ou de loja] (#step-2-set-global-website-or-store-view-variables.
Por exemplo, o escopo pode ser
CONFIG__WEBSITES__DEFAULT
. -
O restante do nome da variável é
SHIPPING__ORIGIN__COUNTRY_ID
.Resultado: o nome da variável é
CONFIG__WEBSITES__DEFAULT__SHIPPING__ORIGIN__COUNTRY_ID
Como usar variáveis de ambiente
Defina os valores de configuração como variáveis usando o PHP $_ENV
matriz associada. Você pode definir os valores em qualquer script PHP executado quando o Commerce é executado.
index.php
ou pub/index.php
nem sempre funciona como esperado, pois diferentes pontos de entrada de aplicativo podem ser usados, dependendo da configuração do servidor Web. Ao colocar $_ENV
diretivas na app/bootstrap.php
independentemente dos diferentes pontos de entrada do aplicativo, a variável $_ENV
as diretivas sempre são executadas desde que app/bootstrap.php
O arquivo é carregado como parte da arquitetura do Commerce.Um exemplo de configuração de dois $_ENV
valores:
$_ENV['CONFIG__DEFAULT__CATALOG__SEARCH__ELASTICSEARCH_SERVER_HOSTNAME'] = 'http://search.example.com';
$_ENV['CONFIG__DEFAULT__GENERAL__STORE_INFORMATION__MERCHANT_VAT_NUMBER'] = '1234';
Um exemplo passo a passo é mostrado na Definir valores de configuração usando variáveis de ambiente.
-
Para usar os valores definidos na variável
$_ENV
, você deve definirvariables_order = "EGPCS"
(Ambiente, Obter, Publicar, Cookie e Servidor) no seuphp.ini
arquivo. Para obter detalhes, consulte Documentação do PHP. -
Para o Adobe Commerce na infraestrutura em nuvem, se você estiver tentando substituir as definições de configuração usando o Interface da Web do Project, você deve anexar o nome da variável como
env:
. Por exemplo: