为什么在 apache HTTPD 中所有的系统环境变量都是空的?

Why are all system environment variables null in apache HTTPD?

我不能在 SetHeader:

中使用任何 系统 环境变量
RequestHeader set "X-Header1" "%{USERNAME}e"
RequestHeader set "X-Header2" "%{TMP}e"
RequestHeader set "X-Header3" "%{ENV:TMP}"
SetEnv HELLO "world"
RequestHeader set "X-Header4" "%{HELLO}e"

结果如下:

X-Header1: (null)
X-Header2: (null)
X-Header3: (null)
X-Header4: world

所以 Apache 只获取它“自己的”环境变量,而不是来自启动 httpd 进程的系统环境的变量。

知道设置了这些环境变量(例如TMP)。

阿帕奇 2.4 Windows.

Apache中,您需要先使用PassEnv指令从shell传递环境变量,然后才能使用它们。这是一个例子:

PassEnv USERNAME TMP