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

前端之家收集整理的这篇文章主要介绍了配置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

猜你在找的PHP相关文章