人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[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
をしており、エラーはでていません。

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

●質問者: orange_mika
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2.0 28 Apache API CGI
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● toohigh
●35ポイント

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 スクリプトに追加すれば解決するかもしれません。

◎質問者からの返答

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

探してみたのですが、

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

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

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

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

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


2 ● toohigh
●35ポイント

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

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

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ