Configure o php-fpm para acessar variáveis de ambiente no docker

3

Estou executando o php7-fpm em um contêiner docker. No entanto, meus scripts php não conseguem acessar as variáveis de ambiente definidas no meu arquivo de composição do docker. getenv('MY_ENV_VAR') retorna FALSE .

Eu alterei /etc/php/7.0/fpm/pool.d/www.conf para incluir clear_env = no e reiniciei com service php7.0-fpm restart , mas minhas variáveis de ambiente não estão lá.

Eu também tentei editar o /etc/php/7.0/fpm/php.ini inclui a linha variables_order = "EGPCS" .

Quando executo meu contêiner em um shell bash, vejo que minhas variáveis existem. É só que eles não estão acessíveis em meus scripts php.

O que estou perdendo?

    
por Aidan Ewen 05.11.2016 / 13:55

1 resposta

2

Bem, isso parece tudo errado, mas eu tenho que trabalhar adicionando as variáveis de ambiente em um script bash -

#!/bin/bash    
echo "" >> /etc/php/7.0/fpm/pool.d/www.conf # new line.
if ! [ -z "$MY_ENV_VAR" ]
then
    echo "env[MY_ENV_VAR] = $MY_ENV_VAR;" >>  /etc/php/7.0/fpm/pool.d/www.conf
fi

Em seguida, no meu Dockerfile -

COPY add_env_vars.sh /add_env_vars.sh
CMD source /add_env_vars.sh && service php7.0-fpm start

Parece que o php-fpm simplesmente não funciona bem com as variáveis de ambiente do sistema.

Para mais informações, veja -

por 05.11.2016 / 15:13