如何设定 apache 读取 so 的位置?

如何设定 apache 读取 so 的位置?

我在 red hat enterprise 4 下配置了一个 apache,支持 CGI (c++ 写的),但在浏览器中执行 CGI 时,总是失败,提示 Premature end of script headers,但在命令行模式下直接执行 CGI 却可以输出正确的结果。

Apache 的错误日志如下:

[Wed Apr 09 15:31:09 2008] [error] [client 127.0.0.1] /mnt/sdb/web/cgi-bin/login.cgi: symbol lookup error: /usr/local/lib/libasa.so: undefined symbol: _ZN6ACE_OS6strdupEPKc
[Wed Apr 09 15:31:09 2008] [error] [client 127.0.0.1] Premature end of script headers: login.cgi

但在 /usr/local/lib 下确实存在定义有 _ZN6ACE_OS6strdupEPKc 的 libACE.so 文件

后来将 libACE.so 复制到 /usr/lib 下后, CGI 又可以正确执行了

问题是 Apache 执行 CGI 时,到底是从哪个位置读取 CGI 所依赖的 so 文件呢?

可不可以让 apache 到指定目录下读取 so 呢?

我是以 root 用户安装的 apache

请指点
大概是设置LD_LIBRARY_PATH变量

http://httpd.apache.org/docs/2.2/mod/mod_env.html