
初投稿です。宜しくお願いします。
ActivePerl5.8.0+Apache1.3.14でSessionを使用した
Webサイトを作成中なのですが、
ppm経由でインストールしたCGI::Sessionを
useしようとしても、エラーになってしまいます。
サンプルコードは以下の通りです。
#!/usr/bin/perl
use CGI::Session;
&ses();
&print();
sub ses() {
# Session作成・ここから
my $session = new CGI::Session(undef, undef, {Directory => './tmp'});
my $tmpSID = $session->id();
$session->param('menu', 'MENU1');
$session->expire('+2h');
$session->header();
}
sub print() {
print "Content-type: text/html;charset=ISO-2022-JP\n\n";
print <<EOF;
OK!
EOF
}
use CGI::Session; の部分(と、Session関数を
呼び出している部分)をコメントアウト
すると、とりあえずはエラーが出なくなるので、
原因はここだとわかっているのですが、
文法的に間違っているとは思えないですし、
困っています。
情報お願いいたします。
No.2ベストアンサー
- 回答日時:
>lib.pmが無いようですが、lib.pmを
>どのフォルダに置いてやればよろしいのでしょうか??
一番単純なのは、先のサンプルコードのファイルと同じ場所に置いておけば読み込んでくれるはずです。
もう少し賢いやり方は、libモジュールを使って、パスを通してやることです。
use CGI::Sesssion;
する前に
use lib qw('lib.pmが置いてある場所の相対パスまたは絶対パス');
としてやれば良いと思いますよ。
他にも、直接@INCにパスを通す方法
BEGIN { unshift @INC,"パス" };
もありますが、前者の方が良いです。
lib.pm以外にパスが通っていないモジュールが必要になった場合も、同様の処置で対応できるでしょう。
#今、実行環境がなく、試せないため、上記でうまくいくのかちょっと心配。
ありがとうございます。
lib.pmを追加したところ、
別の.pmファイルを追加しろ、と
エラーメッセージが変わりました。
合計4ファイル追加したのですが、
まだエラーが取りきれないようです(笑)。
もう少し追加してみますね。
ご回答ありがとうございました。
No.1
- 回答日時:
試して見たのですが、OK! が表示されました。
(ActivePerl5.8.3 WinXP上)エラーが表示された。と言うことですが、どう言うエラーでしょうか?
多分。必要なモジュールがインストールされていない。と言った類いの問題だと思うのです。
なんとか.pm が無いぞ! などとエラーメッセージに書かれていないでしょうか?
この回答への補足
早速の返信ありがとうございます。
コマンドラインでは正常に動作するのですが、
ブラウザ上ではInternal Server Errorに
なってしまうんです。
今、Apacheのエラーログを見てみたら、
Can't locate lib.pm in @INC (@INC contains: .)
と表示されていました。
lib.pmが無いようですが、lib.pmを
どのフォルダに置いてやればよろしいのでしょうか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
【Excel2016】結合されたセルを...
-
「デバイスは PRN を初期化でき...
-
モジュールとクラスの違いって...
-
クリアーとデリート
-
例外処理のフローチャートの記...
-
Perlのモジュールについて
-
Win32でInputBoxを実装するには?
-
Excel VBAでリンク切れをチェッ...
-
acwzlibとは?
-
VBAでoutlook365が起動しません。
-
グラフのX,Y座標を取得したい
-
cygwinでcshが認識されず困って...
-
bad interpreter:エラーについて
-
fetchrow_arrayとfetchrow_hash...
-
Perl モジュールのアンインスト...
-
Excel VBA 標準モジュール内で...
-
ランダムな単語を得るAPIってあ...
-
Excel VBAで、ユーザーフォーム...
-
GOSUB命令とは
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
警告を消したい
-
laravel 本番環境でメールが送...
-
socket経由でHTMLを表示
-
WindowsでMeCab
-
フォームメール@PerlとActiveP...
-
例外処理のフローチャートの記...
-
「デバイスは PRN を初期化でき...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
Application.OnKey:項目入力中...
-
Excel VBAで、ユーザーフォーム...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
VBA This Workbookモジュール...
-
ユーザー定義関数に#NAME?が返...
-
VBSがコンパイルエラーになりま...
-
Excel VBAで、ユーザーフォー...
-
VBAで旧字体を異字体に一括で変...
-
モジュールとクラスの違いって...
おすすめ情報