当前时区 GMT+8, 现在时间是 2008-8-30 05:24 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 如何设定 apache 读取 so 的位置?
cwu
新手上路
Rank: 1



UID 248682
精华 0
积分 1
帖子 1
阅读权限 10
注册 2008-4-8
状态 离线
发表于 2008-4-16 19:06  资料  短消息  加为好友 
如何设定 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

请指点

顶部
seamonkey
银牌会员
Rank: 6Rank: 6


UID 224438
精华 2
积分 2801
帖子 4457
阅读权限 70
注册 2006-8-23
状态 离线
发表于 2008-4-16 22:15  资料  短消息  加为好友 
大概是设置LD_LIBRARY_PATH变量

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

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP