
ホスティングを使用しています。
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
“パーミッションを変えて、実行...
-
ファイルを読み込み、URL転送を...
-
gifcat.pl:助言お願い致します
-
phone.plというモジュールを使...
-
KENT WEBのWebpatio(http://ww...
-
use strictとグロブ?
-
HTML化によるホームページの高...
-
Location: で cgi → c...
-
文字の置換に関しての質問です
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
HPにアクセス制限をかけるために
-
このアクセスの仕方はOK?
-
毎○曜日って、使いますか?
-
Excelにおいて表示されている通...
-
小数点計算について
-
URLでのリダイレクト?
-
shtmlより参照できないディレク...
-
スマホからのアクセスをリダイ...
-
[Excel] ある日の曜日が当月の"...
マンスリーランキングこのカテゴリの人気マンスリー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をインストールしたのに使...
おすすめ情報