Apache 未设置 CGI 环境变量

Apache 未设置 CGI 环境变量

我正在尝试为 Apache Web 服务器设置环境变量,因为它不是正确的 Perl 包。我按照 Server Fault 上一个答案的建议更新了 httpd 文件并添加了环境变量,但仍然不起作用。更新 httpd 文件后,我也退出了 httpd 进程。在命令行上,Perl 使用了正确的 PATH。有人可以提供任何指导吗?

apache error.log 文件中的错误:

[pid 29460] [client 10.199.106.141:57768] AH01215: install_driver(Informix) failed: Can't locate DBD/Informix.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 7)

Apache 应检查 Perl 模块的正确位置

/usr/bin/perl

更新了 /etc/sysconfig/httpd 文件

#Configuration of variables for webserver

export INFORMIXDIR=/opt/informix

export    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/tools

export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts

PATH=$PATH:$HOME/bin:$INFORMIXDIR/bin:$LD_LIBRARY_PATH

export PATH

其他环境变量

OS Package:  Apache/2.4.6 (Red Hat Enterprise Linux) PHP/5.4.16
CONTEXT_DOCUMENT_ROOT = /var/www/cgi-bin/

答案1

你的错误

在@INC 中找不到 DBD/Informix.pm

意味着缺少 Perl 模块数据库管理系统::Informix。有多种方式可以获取此模块:

  1. 在 Red Hat 上,或者系统:yum install perl-DBD-Informix
  2. 在 Debian 或 Ubuntu 上:apt-get install libdbd-informix-perl
  3. 使用减法创建本地库:cpanm DBD::Informix
  4. 使用中央处理器

如果您已经从发行版安装了一些东西,通常最好继续这样做,但是否则,其中一种更特定于 Perl 的方法(cpanminus 或CPAN.pm)可能会给您提供一些可行的方法。

相关内容