0

/etc/init.d/apache2/conf.d/ の下に、Perl セクションを使用する apache2 構成ファイルがあります。

モジュールがロードされているかどうかをテストし、必要に応じてApacheを構成しようとしています。

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

これは、再起動時に表示されるエラーです。Apache2->メソッドも試しましたが、同じエラーが発生します。

# /etc/init.d/apache2 restart Web サーバーを再起動しています: apache2Building Appliance configuration for Debian 5.0.7 /etc/apache2/conf.d/foobar.conf の 73 行目の構文エラー: \t(クリーンアップ中) できません/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 のドキュメントを読み、ぐるぐる回っています。任意の提案スタックオーバーフロー???

ところで-私の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;
4

1 に答える 1

0

1.0 から 2.0 への移植に関するドキュメントでは、Apache2::Module::loaded()

于 2011-02-10T21:10:22.873 に答える