lighttpd 没有使全局环境变量对可执行文件可用

Posted

技术标签:

【中文标题】lighttpd 没有使全局环境变量对可执行文件可用【英文标题】:lighttpd not making global environment variables availble to executables 【发布时间】:2015-05-03 07:07:51 【问题描述】:

如何设置 lighttpd 以使生成的进程可以使用环境变量?

我有一个通过 CGI 作为 URL 调用的可执行文件(例如 http://.../cgi-bin/executable.bin)。

可执行文件需要加载库并使用export FOO=BAR读取在/etc/profile中设置的环境变量。

当我尝试访问该 URL 时,它会生成内部服务器错误 (500),这是由一个空的环境变量引起的,该变量在 /etc/profile 中正确设置。

【问题讨论】:

【参考方案1】:

我最终在modules.conf 中启用了mod_setenv,并像这样包含了我需要的每个环境变量:

##
## mod_setenv
##
setenv.add-environment = ( "PATH" => env.PATH,
                           "WSFC_HOME" => env.WSFC_HOME,
                           "LD_LIBRARY_PATH" => env.LD_LIBRARY_PATH )

【讨论】:

以上是关于lighttpd 没有使全局环境变量对可执行文件可用的主要内容,如果未能解决你的问题,请参考以下文章