配置php-fpm以访问docker中的环境变量

我在docker容器中运行PHP7-fpm.但是我的PHP脚本无法访问我的docker-compose文件中设置的环境变量. getenv(‘MY_ENV_VAR’)返回FALSE.

我已经更改/etc/PHP/7.0/fpm/pool.d/www.conf以包含clear_env = no并重新启动服务PHP7.0-fpm restart但我的环境变量启动不存在.

我也尝试编辑/etc/PHP/7.0/fpm/PHP.ini包含行variables_order =“EGPCS”.

当我在bash shell上执行我的容器时,我可以看到我的变量存在.只是因为我的PHP脚本无法访问它们.

我错过了什么?

好吧这似乎都错了,但我通过在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

然后在我的Dockerfile中 –

copY add_env_vars.sh /add_env_vars.sh
CMD source /add_env_vars.sh && service PHP7.0-fpm start

看起来像PHP-fpm只是不能很好地适应系统环境变量.

有关详情,请参阅 –

> This docker issue
> This (more comprehensive) workaround

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...