docker nginx + php-fpm:环境变量可在控制台上运行,但不能在脚本中运行

时间:2019-01-17 15:39:41

标签: docker environment-variables

我正在使用带有nginx和php-fpm7.2的ubuntu:18.04容器。我设置

clear_env=no

/etc/php/7.2/fpm/pool.d/www.conf

variables_order = "EGPCS"

/etc/php/7.2/fpm/php.ini

我从docker-compose传递了一个变量$ myVar。正在运行

echo $myVar

显示正确的值。

跑步     php -r“ echo getenv('myVar');” 显示正确的值。

将文件 index.php 放入包含以下内容的 / var / www / html / (这是我的www根目录)

<?php
   echo getenv('myVar');
?>

返回一个空字符串。

有人可以帮我吗?

谢谢你,马丁

2 个答案:

答案 0 :(得分:1)

这是一个PHP-FPM恶作剧。

  • clear_env = no上设置/etc/php/7.2/fpm/pool.d/www.conf,因此;

在Dockerfile上,以init.d开始php-fpm,不使用 service
例如:

CMD /etc/init.d/php7.2-fpm start && nginx -g 'daemon off;'

现在检查环境变量?

答案 1 :(得分:0)

可能是命名约定,更具体地说是分隔符引起了问题。尝试命名环境变量MY_VAR而不是MyVar。