Apache mod_perl2迁移问题

时间:2011-01-04 16:57:09

标签: apache apache2 mod-perl2 perlsections

我在/etc/init.d/apache2/conf.d/下有一个使用Perl Sections的apache2配置文件。

我只是想测试一个模块是否已加载并根据需要配置apache。

if( Apache->module( "mod_ssl.c" ) )
{
  ...
} else { ... }

这是我在重新启动时看到的错误。我也尝试过Apache2->方法但得到同样的错误。

#/ etc / init.d / apache2 restart 重新启动Web服务器:Debian 5.0.7的apache2Building设备配置 /etc/apache2/conf.d/foobar.conf第73行的语法错误: \ t(在清理中)无法在/etc/apache2/conf.d/foobar.conf第357行通过软件包“Apache”找到对象方法“module”(也许你忘了加载“Apache”?)  失败!

我不认为这是一个@INC问题......并且安装了apache和libapache2-mod-perl2软件包。事实上,如果我评论该行,其余的perl实际运行正常。

perl -e 'print join "\n",@INC'
/etc/perl
/usr/local/lib/perl/5.10.0
/usr/local/share/perl/5.10.0
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.10
/usr/share/perl/5.10
/usr/local/lib/site_perl

我也尝试过使用Apache :: compat和“Apache2->模块” 我怀疑问题是startup.pl中缺少的东西 - 但我一直在谷歌搜索和阅读mod perl文档并围绕圈子。任何建议stackoverflow ???

BTW-我的startup.pl:

#!/usr/bin/perl -w
use strict;
use lib qw( /usr/lib/perl5/ /usr/lib/perl5/Bundle /usr/lib/perl5/Apache2 ) ;

BEGIN
{
    use Apache2 ();
    my $hostname = `hostname`;
}
use Apache;
use Apache::DBI ();
use Apache2::Const ();
use Apache2::Log ();
use Apache2::URI ();
use Apache2::compat;
use LWP::UserAgent ();
use DBI() ;

1;

1 个答案:

答案 0 :(得分:0)

关于从1.0移植到2.0的

The documentation建议Apache2::Module::loaded()