为什么在 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
我不能在 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