【发布时间】:2016-11-09 15:12:33
【问题描述】:
我设置了一个名为DISPLAY_ERRORS 的环境变量,其值为on。
我正在尝试在php-fpm.d/www.conf 中使用此环境变量,但是我无法找出正确的语法。这是我尝试过的:
1:
[www]
php_flag[display_errors] = $DISPLAY_ERRORS
2:
[www]
php_flag[display_errors] = $(DISPLAY_ERRORS)
3:
[www]
php_flag[display_errors] = ${DISPLAY_ERRORS}
4:
[www]
php_flag[display_errors] = "${DISPLAY_ERRORS}"
以上方法似乎都不起作用。在所有情况下,我都会收到以下错误:
ERROR: [/usr/local/etc/php-fpm.d/www.conf:17] error while parsing 'php_flag[display_errors]' : invalid boolean value
注意 - 我知道“on”不是布尔值,但是 php_flag[display_errors] = on 工作正常,所以我假设问题在于我如何尝试获取变量的值。
【问题讨论】:
-
#1 是要使用的格式。我想知道传入的环境变量是否仅适用于
env数组。让我们进行实验:在www.conf中尝试env[foo] = $DISPLAY_ERRORS,然后在重新加载后在PHP 中尝试echo getenv('foo');还要确保在您的FPM conf 中clean_env = no。结果是什么? -
您是否在用户会话中设置了 env var,并希望 fpm 看到?
-
@bishop - 当我做你写的事情时,我得到了我在
$DISPLAY_ERRORS环境变量中设置的值。 -
@Maerlyn - 我正在使用 Docker 环境变量设置环境变量。这在 PHP 代码文件中可以正常工作,但在 PHP 配置文件中却不行。
-
AFAIK 你不能使用这样的环境变量,但你应该能够通过代码中的
$_ENV访问它们。
标签: php environment-variables fpm