在linux、sunOS、HPUX系统上使用apache和perl的cgi做分布的soap调用接口,cgi调用的脚本需要连接数据库。
部分系统中会有出现连接数据库死掉的情况,原因为在http调用中oracel相关数据库参数传递不过来。
解决办法如下:
在~/apache/conf/httpd.conf 中配置:
PassEnv LD_LIBRARY_PATH
重启apachectl。
在sunOS系统中,还可以添加全局环境变量配置来解决此问题。
默认配置文件为/var/ld/ld.config,使用默认即可,系统本来应该是没有该文件的。
生成文件命令为:
#crle -l /lib:/usr/lib:/oracle/product/10/lib32:/oracle/lib:/usr/local/lib
这里需要注意的是-l参数为新的search目录意思,即应该是所需库的全集。
如果缺少了某些定义,系统就可能会出现问题。
-u参数为追加使用,如果原先已经有ld.config文件,不妨使用-u参数来安全得多~