微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

配置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

原文地址:https://www.jb51.cc/php/138472.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐