使用DBI将httpd24连接到Informix的Redhat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用DBI将httpd24连接到Informix的Redhat相关的知识,希望对你有一定的参考价值。
我对此很敏感。我有2个RH7盒子,我刚刚安装了httpd24(v2.4.34)。他们运行httpd(v2.4.6)没有任何连接问题。现在,当我尝试从浏览器运行Perl脚本时,它们会失败...
install_driver(Informix) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Informix/Informix.so' for module DBD::Informix: libifsql.so: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
at (eval 5) line 3.
Compilation failed in require at (eval 5) line 3.
Perhaps a required shared library or dll isn't installed where expected
at /var/www/html/app/cgi-bin/test_informix_odbc.cgi line 35.
但是当我从命令行运行相同的脚本时,就像'apache'一样,它运行得很好。所有ENV变量都设置正确。
以前有人遇到过类似的事吗?
答案
它将不再使用我在httpd.conf中设置的LD_LIBRARY_PATH环境变量。
服务在新环境中启动,不受用户环境的影响(如环境变量值)。因此,在服务启动期间,所有已启用的集合的信息将丢失。
较新版本的httpd已停止在启动服务时引入用户环境。我在/ opt / rh / httpd24 / service-environment中找到了这个小模糊。
grep -r "LD_LIBRARY_PATH" /opt/rh/httpd24/
/opt/rh/httpd24/enable:export LD_LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
我在/ opt / rh / httpd24 / enable中添加了标准的informix路径。
export LD_LIBRARY_PATH=/opt/IBM/informix/lib:/opt/IBM/informix/lib/esql:/opt/rh/httpd24/root/usr/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
一切都恢复正常。哇噢!
以上是关于使用DBI将httpd24连接到Informix的Redhat的主要内容,如果未能解决你的问题,请参考以下文章
无法将 Spring Boot 应用程序连接到 IBM Informix 数据库