我在Docker容器中运行php7-fpm。 但是我的PHP脚本不能访问我的docker-compose文件中设置的环境variables。 getenv('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玩。
更多信息请参阅 –