configurationphp-fpm来访问docker中的环境variables

我在Docker容器中运行php7-fpm。 但是我的PHP脚本不能访问我的docker-compose文件中设置的环境variablesgetenv('MY_ENV_VAR')返回FALSE

我已经改变了/etc/php/7.0/fpm/pool.d/www.conf以包括clear_env = no并重新启动与service php7.0-fpm restart但我的环境variables开始不存在。

我也尝试编辑/etc/php/7.0/fpm/php.ini包含行variables_order = "EGPCS"

当我进入我的容器上的bash shell时,我可以看到我的variables存在。 这只是他们不能在我的PHP脚本访问。

我错过了什么?

那么这似乎全错了,但我已经得到它的工作,通过在bash脚本中添加环境variables –

 #!/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 

然后在我的Dockerfile中 –

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

它看起来像php-fpm只是不能很好地与系统环境variables玩。

更多信息请参阅 –

  • 这个docker问题
  • 这(更全面的)解决方法