繁体   English   中英

无法在php-fpm中访问系统范围的环境变量

[英]Unable to access system-wide environment variable in php-fpm

Ubuntu 16.04,php7.0-fpm,Apache 2.4,nginx 1.10.0

我在两个可能的位置都添加了系统范围的环境变量:

/etc/environment:
ENVTEST=123

/etc/profile.d/env.sh:
export ENVTEST=123

检查:

vagrant@localhost:~$ echo $ENVTEST
123

在/etc/php/7.0/fpm/pool.d/www.conf中,我将变量传递给PHP:

env[ENVTEST] = $ENVTEST

但是,此变量值是$ _SERVER数组中的空白字符串。

如果我在www.conf env[ENVTEST] = 123使用静态值,则可以正常工作。

在控制台模式下,我可以访问变量值,它仅在php-fpm模式下不起作用。

我也尝试通过Apache config中的SetEnv设置变量,但是它给出了相同的结果-设置了变量,但值是空字符串。

您可以使用脚本中的getenv()函数来测试是否正确设置了该值。 我没有找到一种通过setenv()以外的脚本安全地推送环境变量的方法,但是如果您愿意,它可能不会将永久性更改推送到您的运行时环境,并且可能仅在每次运行时进行设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM