[mod_perl2 x Apache2::Request に関する質問です。]


1.Can't locate auto/Apache2/Request/param.al @INC
というエラーが以下のコードでおこります。
考えられる原因を教えて下さい。

use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::Request;



sub handler {

    my $r = shift;

    my $gr = $r;

    my $cgi = Apache2::Request->new($r);



my $api = $cgi->param('api');
   ↑この行

2.Can't locate auto/Apache2/Cookie/Jar/jar.al in @INC
というエラーが以下のコードでおこります。
考えられる原因を教えて下さい。

use Apache2::Cookie ();

sub handler {

    my $r = shift;

    my $gr = $r;

(別sub)

my $j = Apache2::Cookie::Jar->new($gr);
↑この行

(現在の環境)
Apache 2.2.2
libapreq2 2.0.7
mod_perl 2.0.2
XSBuilder 0.28
Fedora Core 5

libapreq2のコンフィギュア
./configure --with-apache2-apxs=/usr/local/apache2/bin/apxs
--enable-perl-glue --with-expat=/usr/local/apache2

httpd.confにて
LoadModule modules/libapreq2.so
をしており、エラーはでていません。

以上、宜しくお願い致します。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2006/07/28 14:53:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:toohigh No.1

回答回数291ベストアンサー獲得回数37

ポイント35pt

can't locate ***** @INC というエラーは、mod_perl の perl モジュールが標準の位置にない、という内容になります。

perl -V で @INC として出てくるディレクトリの下に param.al なり jar.al という

ファイルがあるかどうか、ない場合は、@INC 以外の場所にあるのかどうかを確認してみるのが良いでしょう。

もし、@INC 以下にないけどそれ以外に場所にある、という場合、例えば /path/to/perl/lib/auto/Apache2/Request/param.al が存在する場合、

use lib '/path/to/perl/lib';

などを perl スクリプトに追加すれば解決するかもしれません。

id:orange_mika

ありがとうございます!!

探してみたのですが、

まず端末内のparam.al や jar.alを検索してみたのですがないんです。

libapreq2を再インストールしても作成されませんでした。

(googleでみてみてもそのファイル名の検索がヒットしなかったのです…)

もしや、元々ないものなのでは?と疑っています。

まだ解決していないので、引き続きアドバイスを宜しくお願い致します。

2006/07/25 15:57:26
id:toohigh No.2

回答回数291ベストアンサー獲得回数37

ポイント35pt

状況を見る限り、たしかに存在しないファイル名(というか、自身で書かれたコードに由来したファイル名)のファイルを探しに行っているように見えますね。

1. でいうと、Apache2::Request のモジュールの使い方が正しくないか、モジュール自体が正しく動作していない可能性が高そうなのですが・・。

id:orange_mika

なるほど、ありがとうございます。もう少し頑張ってみてみます!

もし何か情報があれば、お待ちしています!

2006/07/26 20:38:29
  • id:orange_mika
    toohighさん、ありがとうございました。

    結局、モジュールが壊れている可能性が高いと考えて、
    再度インストールしましたがうまくいかず、
    apache/mod_perl2/libapreq2とも、rpmに変えて再インストールを行い、
    解決しました。
    大変お手数をお掛けしました。
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません