【问题标题】:Apache mod_perl2 migration problemApache mod_perl2 迁移问题
【发布时间】:2011-06-03 12:45:04
【问题描述】:

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

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

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

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

# /etc/init.d/apache2 重启 重新启动 Web 服务器:Debian 5.0.7 的 apache2Building Appliance 配置 /etc/apache2/conf.d/foobar.conf 第 73 行的语法错误: \t(in cleanup) 在 /etc/apache2/conf.d/foobar.conf 第 357 行无法通过包“Apache”定位对象方法“module”(也许您忘记加载“Apache”?)。\n 失败的!

我认为这不是@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->module”。
我怀疑问题是在 startup.pl 中缺少某些东西 - 但我一直在谷歌搜索和阅读 mod perl 文档并转圈圈。有什么建议stackoverflow???

顺便说一句-我的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;

【问题讨论】:

    标签: apache apache2 mod-perl2 perlsections


    【解决方案1】:

    The documentation 从 1.0 移植到 2.0 建议 Apache2::Module::loaded()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 2019-05-11
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多