Um aplicativo PHP requer que eu defina várias variáveis de ambiente com coisas como credenciais de banco de dados, servidor SMTP, etc.
Exemplos de variáveis incluem:
FOO_DATABASE_URL=mysql://user:pass@host:3306/dbname
FOO_SMTP_SERVER=smtp://user:pass@host:25
FOO_FILE_PATH=/var/www/foo
FOO_URL_HOST=example.org
FOO_URL_PATH=/foo
Onde é o local apropriado para definir essas variáveis?
Inicialmente, tentei defini-las em ~/.profile
, mas percebi que não sou o usuário que o Apache executa, de modo que não funcionaria. Eu encontrei /etc/environment
, mas não tenho certeza se esse é o local apropriado para defini-las. Atualmente, há apenas PATH
. Se eu definir apenas mero preciso prefixar as linhas com export
?
A documentação afirma que os arquivos ENV devem ser evitados na produção para maximizar o desempenho. Também gostaria de evitar o uso das diretivas SetEnv
e PassEnv
do Apache, se possível.
Meu servidor de produção é o CentOS, no entanto, gostaria de saber como fazer isso no Linux Mint e no Ubuntu, embora eu use atualmente um arquivo ENV para desenvolvimento.