如何告诉mod_perl2找到我的Perl模块?

时间:2010-04-14 23:53:03

标签: perl apache2 libraries mod-perl2

我刚安装了运行Apache Server版本的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错误。

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

2 个答案:

答案 0 :(得分:0)

你不能只在mod_perl2脚本中'使用lib'。您需要使用所需的'use lib'创建'startup.pl'脚本或添加PerlSwitches选项。见http://perl.apache.org/docs/2.0/user/config/config.html#Adjusting_C__INC

答案 1 :(得分:0)

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

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

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