
ホスティングを使用しています。
plファイルについて、以前のサーバはちゃんと動作していましたが、
新しいサーバで、jcode.plが読み込めないらしくInternal Server Errorが出てしまっています。
階層は
httpdocs--test.pl
|--cmn--jcode.pl
にしています。
ログを見ると
[error] Can't locate cmn/jcode.pl in @INC
17行目部分、つまりrequire 'cmn/jcode.pl';があるところがエラーになってます。
以前は読み込めているのに、新しいサーバでは読み込めていない。
ちなみに
・パーミッションはちゃんと変更していますtext.pl[755]
・httpdocs自体は.htaccessでpl自体は動作できています
つまり、 require行を外すとページはきちんと表示されます。
となると考えられる原因はなんでしょうか?
そして対策方法を教えて頂ければと思います。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
本体のスクリプトのファイル名が main.cgi だとしてそこと同じ
ディレクトリに index.cgi というファイル名で以下のような
スクリプトを書いてください。
#!/usr/bin/perl
# ↑Perl のディレクトリ
# wrapper
use strict;
use CGI::Carp qw(fatalsToBrowser);
use File::Spec;
use File::Basename;
use Cwd;
# カレントディレクトリの設定
my $fn = File::Spec->rel2abs(__FILE__);
$fn =~ s/\\/\//g;
my ($dir) = (fileparse($fn))[1];
chdir $dir if(getcwd() ne $dir);
# main.cgi を読み込む
require './main.cgi';
exit;
そして、すべてのリクエストを index.cgi に対して行うように
するとスクリプトのあるディレクトリがカレントディレクトリになり
ます。
ただし、すべての環境で動作するかどうかは分かりません。
No.2
- 回答日時:
調べればわかるんだけど, @INC は「require や use するファイルを探すディレクトリ」のリストです. この場合,
require 'cmn/jcode.pl';
を実行すると
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/cmn/jcode.pl,
/usr/lib/perl5/5.8.5/cmn/jcode.pl,...
を順に探し, 一番最初に見つかったファイルを読み込みます. そして, そのようなファイルが見つからなければ
Can't locate cmn/jcode.pl in @INC
というエラーになります.
なお, @INC の中の「.」は「スクリプトのあるディレクトリ」ではなく「スクリプトを実行するときのディレクトリ」です. だから, これは「スクリプトのあるディレクトリ」を指すとは限りません. 念のため.
この回答への補足
それで具体的にどうすればいいのかな
#!/usr/bin/perlパスはついているし
その下に
#!/usr/lib/perl5/5.8.5/
とかパスを書き足しても解決できないのですが
No.1
- 回答日時:
「考えられる原因」も何も, エラーメッセージがすべてだと思う.
@INC の値はどうなってますか?
この回答への補足
(@INC contains:
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
/usr/lib/perl5/5.8.5
/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.4
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
. /etc/httpd/
/etc/httpd/lib/perl)
実は@INCというのが何のことなのかもよくわかりません。
これで何が分かるのでしょうか?
追記
上の階層がずれていましたがcmnは
httpdocs/cmn/jcode.plです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 法学 法律の事を勉強し始めて数日なのですが、少しこんがらがってます。 PL法で、例えばヘアドライヤーを使用 1 2022/10/09 22:38
- 簿記検定・漢字検定・秘書検定 簿記3級の問題についてです。大問3の精算表の問題なのですが未払い消費税から下の科目を貸借対照表に書く 1 2023/03/02 13:48
- 一眼レフカメラ 写り込みを除去するC-PLフィルターは横の三角マークが90度回転する度に正反対の画質になるのでしょう 1 2023/06/11 13:40
- 宗教学 PL教はカルトの部類に入りますか? 毎月の教会費の他に褒賞と言うお布施を半強制的 月に五千円以上払い 5 2022/07/14 13:15
- 風邪・熱 朝、PL顆粒を服用しました。 夜、パブロン飲んでもいいでしょうか? PL顆粒は、だるくなりますか? 1 2022/08/27 15:04
- 関西 夏の甲子園が嫌です... 3 2022/08/04 17:16
- いじめ・人間関係 高校生の吹奏楽部です。 今度、他校と見せ合う演奏会とコンクールメンバーを決めるオーディションがありま 1 2022/04/23 14:56
- 野球 「延長17回 PL対横浜」甲子園-----覚えていますか 1 2022/11/25 22:35
- 野球 夏の甲子園出場ランキング 大阪 1 2022/12/18 19:45
- テクノ・ハウス フリーBGMのどの曲か分かりません 1 2022/05/16 17:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の置換に関しての質問です
-
IIS7とActivePerlを導入しまし...
-
エラー出力をなくしたい
-
perl初心者です
-
/httpdocsでのCGI動作を有効化
-
cgiとplとpm
-
ファイルを読み込み、URL転送を...
-
jcode.plが読み込めない
-
Location: で cgi → c...
-
Perlと画像について
-
エクセルで毎月第2週日の水曜日...
-
月の第一週とは
-
エクセルで相対パスの書き方を...
-
小数点計算について
-
よくある 『 第○(1・2・3・4・...
-
「しあさって」って言いますか?
-
DBを10件毎に表示ページング...
-
週2回のペースって だいたい何...
-
毎○曜日って、使いますか?
-
「.htaccess」に関して質問です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cgiとplとpm
-
自CGIのURLのパス部分を取得す...
-
htmlファイルへのcgiの組み込み...
-
jcode.plが読み込めない
-
バイナリファイルのアップロード
-
Quantifier follows nothing in...
-
ファイル書込時にPermission de...
-
GETのうけとり。
-
なぜエラー?
-
「動的ページが表示されない」...
-
xamppでcgiが動かない
-
Perlの作動不具合、missing bra...
-
perl 変数 代入
-
環境変数に任意の文字列をセッ...
-
perlのcgiが動かない・・・
-
CGI/Perl が分かりません。
-
a.cgi経由で、b.cgi実行
-
Perlスクリプトが、ローカ...
-
最終更新日自動取得のようなCGI...
-
perlをインストールしたのに使...
おすすめ情報