我在/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;