Windows 7 上由 apache 2.2 调用的 C CGI 无法读取环境变量

Windows 7 上由 apache 2.2 调用的 C CGI 无法读取环境变量

我有一个由 Apache 调用的 C CGI,均以 SYSTEM 身份运行。

CGI 依赖于 WINDIR 和 TEMPLATES 环境变量的设置。它可以毫无问题地获取 WINDIR 的值,但 getenv("TEMPLATES") 总是返回 NULL。

TEMPLATES 是一个系统变量。

另一篇帖子在 LocalService 帐户下运行的 Win 服务无法访问环境变量建议重新启动,我试过这个但没有用,并确保 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\ 具有所需的环境变量,它确实如此。

谢谢。

答案1

通过向我的目录上下文中添加 PassEnv 指令解决了这个问题:

PassEnv TEMPLATES

文档在这里http://httpd.apache.org/docs/2.2/mod/mod_env.html#passenv

相关内容