初投稿です。宜しくお願いします。
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で質問しましょう!
似たような質問が見つかりました
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- Chrome(クローム) Chromeで検索するたびにウイルス感染(?)の警告がでます。 どうすれば解決しますか? 5 2023/02/06 14:40
- 防犯カメラ・監視カメラ・小型カメラ 以下に最適なドローン探してます 3 2022/06/16 15:48
- 教えて!goo アプリで締め切った質問に追加回答の手続きは可能ですか? 2 2023/04/09 19:08
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLとの接続でfetchrow_array...
-
LCD ディスプレイを Raspberry ...
-
laravel 本番環境でメールが送...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
例外処理のフローチャートの記...
-
Excel VBA 定義されたプロージ...
-
Excel VBAでリンク切れをチェッ...
-
「デバイスは PRN を初期化でき...
-
Excel VBA 『Call』で呼び出す...
-
use lib qw(変数名);は無理?
-
モジュールの最大数はいくつな...
-
現在アクティブなフォーム名を...
-
グラフのX,Y座標を取得したい
-
【vba】フォームに書いてあ...
-
CPANモジュール取得におけるmak...
-
VBAで旧字体を異字体に一括で変...
-
Access VBA標準モジュールにつ...
-
他Book(シートモジュール)のマ...
-
ベースモジュールって?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
laravel 本番環境でメールが送...
-
perlからDBIを使用したpostgres...
-
エラーでハマっている為、use A...
-
Perlで画像のサイズ取得する方法
-
MySQLとの接続でfetchrow_array...
-
"use CGI::Session"でエラーが...
-
DBD::mysqlで「表」という文字...
-
CGI::Carpを使っているのにInte...
-
DBIが入っているはずですが、、、
-
perlで指定か所のurlを取り出し...
-
Chart::Gnuplotの使い方
-
failed: Can't connect to loca...
-
PerlコマンドでURLからサムネイ...
-
htmlフォームから受け取ったフ...
-
WWW::Mechanizeがプロシキ経由...
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
おすすめ情報