1

我刚刚安装了运行 Apache 服务器版本的 Oracle 64 位 Linux5.4 系统:Apache/2.2.3 和 mod_perl 2。

现在,我将我的 Perl 库设置在一个特定的路径中:/my/perl/libs 并且我已经调整了我的 httpd.conf 以弥补这一点(我添加了以下内容):

SetEnv MY_LIBS /my/perl/libs

在我的 CGI 程序中,我正在设置我的环境来补偿:

使用 lib($ENV{'MY_LIBS'});

有时我的 Perl 模块会识别 /my/perl/libs 的路径并适当地调用所有函数,有时它们不会,从而引发 500 错误。

当我重新启动 apache ( /etc/init.d/httpd restart) 时,一切正常,但随后出现 500 错误。

有什么想法吗?我应该看什么?

4

2 回答 2

0

我总是在我的 httpd.conf 中放一个这样的块:

<Perl>
    use lib "/my/perl/lib";
</Perl>

我把它放在任何 PerlModule 或其他与 perl 相关的配置设置之前。

于 2010-06-02T01:23:28.020 回答
0

您不能只在 mod_perl2 脚本中“使用 lib”。您需要使用所需的“使用库”创建一个“startup.pl”脚本或添加一个 PerlSwitches 选项。请参阅http://perl.apache.org/docs/2.0/user/config/config.html#Adjusting_C__INC

于 2010-04-18T23:44:44.793 回答