Variáveis de ambiente para aplicativos PHP

2

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.

    
por rink.attendant.6 25.07.2015 / 05:06

1 resposta

1

Você pode simplesmente colocar esse arquivo .env na pasta raiz do seu projeto. Apenas certifique-se de que não seja acessível publicamente.

Isso é o que o Laravel faz, mas se você tiver preocupações sobre desempenho e / ou segurança, você pode uma olhada no Vault .

    
por 02.07.2017 / 05:06