当前位置: 技术问答>linux和unix
CGI调动态库,出错?
来源: 互联网 发布时间:2015-11-07
本文导语: 我现在是boa起的http server 我把共通用的几个函数封装到了一个libcommon.so里面 然后我的cgi程序调用这几个库 我的cgi程序在本地运行是良好的,但是从页面调用的时候就出500的错误 我尝试把libcommon.so里面的东西放在本地,...
我现在是boa起的http server
我把共通用的几个函数封装到了一个libcommon.so里面
然后我的cgi程序调用这几个库
我的cgi程序在本地运行是良好的,但是从页面调用的时候就出500的错误
我尝试把libcommon.so里面的东西放在本地,问题就解决了
但是我想问为什么作为动态库的时候就不行了?
我猜是某个环境变量没设置好,但是不知道是哪个,大家帮我看看
我把共通用的几个函数封装到了一个libcommon.so里面
然后我的cgi程序调用这几个库
我的cgi程序在本地运行是良好的,但是从页面调用的时候就出500的错误
我尝试把libcommon.so里面的东西放在本地,问题就解决了
但是我想问为什么作为动态库的时候就不行了?
我猜是某个环境变量没设置好,但是不知道是哪个,大家帮我看看
|
如此看来是LD_LIBRARY_PATH没有传递给boa。
boa里怎么设置环境变量?CGIenv?
apache是PassEnv
boa里怎么设置环境变量?CGIenv?
apache是PassEnv
|
你看看log里都有什么
再试一下用http server的用户在本地运行
也可以在cgi里面的各个位置打印一些信息,看看哪些信息可以在浏览器显示,还是一开始就出错。由此定位在哪里出问题
另外,你的so是怎么调用的,通过dlopen么?
你可以在起http server之前设置动态库的路径(LD_LIBRARY_PATH)。
再试一下用http server的用户在本地运行
也可以在cgi里面的各个位置打印一些信息,看看哪些信息可以在浏览器显示,还是一开始就出错。由此定位在哪里出问题
另外,你的so是怎么调用的,通过dlopen么?
你可以在起http server之前设置动态库的路径(LD_LIBRARY_PATH)。