如果我在 shell 环境中声明一个数组,它不会出现在 PHP 中。
标量工作正常。例如:
外壳脚本:
declare -a TARGETS
TARGETS[0]="/etc"
TARGETS[1]="/boot"
export TARGETS
export HOST="localhost"
PHP:
$TARGETS = array ();
$TARGETS = getenv ("TARGETS");
$HOST = getenv ("HOST");
$TARGETS 将为空,$HOST 将包含“localhost”。
phpinfo 在 Environment 部分显示 $HOST 及其值。phpinfo 输出中没有 $TARGETS :/
我找不到任何说明环境数组未传递到 PHP 中的信息,但实际上是这样还是我错过了一些明显的东西?
顺便说一句,我也尝试使用 $_ENV 和 $_SERVER 获得相同的结果。
这与bash 不同:设置数组 env 变量并从任何 shell 脚本中取消引用它都会失败,就像 2012 年 Bash 不支持数组变量时那样。现在确实如此。