免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2089 | 回复: 5
打印 上一主题 下一主题

求助:关于perl CGI c程序执行的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-23 15:23 |只看该作者 |倒序浏览
最近要开发一个cgi网站,系统环境:Linux9/Apache/Oracle9.2
cgi程序用perl编写的,它主要是调用一个用pro*c编写的程序,c程序是跟Oracle接口的东东。  编译后直接在Terminal里运行c程序或通过perl调用c程序都没有问题,但通过cgi调用时却无法运行,也没有出错标记。

我查了很久,最终发现,当c程序用gcc链接时,如果不链接其它库函数,即不带-l参数,编译链接后的程序在cgi下执行没问题;但当链接其它库时,生成的程序无法执行,请问大家这是什么原因,有解决办法吗?


注:我链接的是OCI编程和网络的一些库函数,例如下面的命令链接生成的程序就无法执行:
/usr/bin/gcc -o testc testc.o -lca -L/home/epics/base/lib/Linux -L/opt/oracle/product/9.2/lib/ -lclntsh `cat /opt/oracle/product/9.2/lib/ldflags`   `cat /opt/oracle/product/9.2/lib/sysliblist` -ldl -lm

论坛徽章:
0
2 [报告]
发表于 2005-08-23 15:28 |只看该作者

求助:关于perl CGI c程序执行的问题

原帖由 "huangsongsha" 发表:
最近要开发一个cgi网站,系统环境:Linux9/Apache/Oracle9.2
cgi程序用perl编写的,它主要是调用一个用pro*c编写的程序,c程序是跟Oracle接口的东东。  编译后直接在Terminal里运行c程序或通过perl调用c程序都没有?.........


我想是权限配置的问题吧,是否apache运行的用户,不够访问库目录的权限?

论坛徽章:
0
3 [报告]
发表于 2005-08-24 10:25 |只看该作者

求助:关于perl CGI c程序执行的问题

应该不是权限配置的问题,我的所有程序都是在apache用户home下,编译链接都没问题啊,而且我直接用apache用户登录后在Terminal里直接执行cgi程序没有问题,它会调用链接库后生成的c程序

另外:我是用的system命令调用的c程序

论坛徽章:
0
4 [报告]
发表于 2005-08-24 10:32 |只看该作者

求助:关于perl CGI c程序执行的问题

原帖由 "huangsongsha" 发表:
应该不是权限配置的问题,我的所有程序都是在apache用户home下,编译链接都没问题啊,而且我直接用apache用户登录后在Terminal里直接执行cgi程序没有问题,它会调用链接库后生成的c程序

另外:我是用的system命令..........


试试是否CGI的环境变量问题。编译apache的setenv模块,并在httpd.conf里使用setenv指令,指定环境变量传递给CGI。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-08-24 14:16 |只看该作者

求助:关于perl CGI c程序执行的问题

路径问题吧...因为你link的library找不到 .....
看看 apache的error_log..应该有log资料....找出来分析看看...
可能需要在ENV里面加入 LD_LIBRARY_PATH(有点忘了..你的查查)...

论坛徽章:
0
6 [报告]
发表于 2005-08-24 15:31 |只看该作者

求助:关于perl CGI c程序执行的问题

啊,解决了,太谢谢“兰花仙子”和“apile”两位啦

我查了error_log文件,说是没找到链接库
apache用户的.cshrc文件里原本是设了LD_LIBRARY_PATH的,我一直以为在cgi执行环境中这个值也是一样的,想不到把ENV打印出来一看是空的
设过之后就行了

谢谢大家!解决问题的感觉真好,继续调程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP