さんざん検索をかけて色々試したのですが、どうしても解決できず
どなたかご存知のかた、教えてください。よろしくお願い致します。
つい昨日までちゃんと動いていたCGIが突然
「jcode.plがありません」
と訴えてきました。
4月にサーバーを乗換え丸2ヶ月、問題なく動いていたのに
突然です。何がなんだか分かりません。
もちろん、このCGIに関わるファイルは一切いじっておりません。
自分なりに検討した結果
引っかかっているのは以下のコード
# 漢字コード変換ライブラリを読み込む
if (-f "jcode.pl") {
require "jcode.pl";
} else {
&errexit("jcode.plがありません。\n");
}
-略-
&jcode'convert(*tmp, $kcode_cgi);
このふたつです。jcode.plを読み込めない為にもれなく後出の呪文が効かないんだろうなという事は推測しているのですが。
このためフルパスでも試しましたが変化なし。
この読み込みをしなければ、CGIは取りあえず表示します。
なので、日本語変換プログラム以外は正常に動作しているようです。
どなたか同じような経験の有る方いらっしゃいませんか?
アドバイスよろしくお願い致します。
No.2ベストアンサー
- 回答日時:
&errexit("jcode.plがありません。
\n"); を以下の様に変更して実行すると、同じディレクトリ下のファイルの一覧が表示されるはずです。 jcode.pl はありますか? CGIファイル自身はありますか?&errexit("jcode.plがありません。\n\n" . join('', map("$_\n", glob("*"))));
この回答への補足
自分なりに色々やってみた所、管理者から教えてもらったフルパスがそもそも違っていた事が分かりました。
これ、テストサーバの時のじゃないかな?と感じた部分があって、それを直したらあっさり動きました。
テストサーバをそのままミラーサーバに使用していたようなのですが、それが不調で止めたのが原因ではと推測しています。
サーバ管理者からは相変わらずレスポンスが有りませんが、ちゃんと動くようになりました。
教えていただいたコマンドがきっかけで気がつきました。
有難うございました。
ありがとうございます!!
やってみたところなぜか2つ上の階層の内容が表示されました。
本来は
/cgi-bin/search_a/
に
wwwsrch.log、wwwsrch.cgi、jcode.pl
が格納されています。
cgi-binの中にsearch_aとsearch_bのディレクトリを用意したかったのでcgi-bin直下でないのが良くないのでしょうか?
これをもとに
if (-f "search_a/jcode.pl") {
require "search_a/jcode.pl";
if (-f "cgi-bin/search_a/jcode.pl") {
require "cgi-bin/search_a/jcode.pl";
を試しましたがダメでした。もう少しあれこれやってみます。
No.3
- 回答日時:
"jcode.pl"の記述を"./jcode.pl"としてもだめですか?
できればこういうライブラリは専用のディレクトリ一箇所に集めてパス指定で組み込んだ方が良いと思います。
仮想サーバの場合フルパスがわかりにくいので管理者が教えてくれないなら環境変数を解析取得して組み込んじゃいましょう。
この回答への補足
管理者から教えられていたフルパスが、間違っている事が判明しました。
ミラーサーバが不調(それも問題ですが)で使用停止したためそれの影響も有るのかな?とサーバ側の方は素人同然なのであまり良く分かりませんでしたが私が「これでは?と」思ったものを記述したらすんなり動きました。
こういう事って良く有るのでしょうか。
ともあれ、動きました。
有難うございました。
お返事有難うございます。
はい。相対パスでもフルパスでも試しました。
ご指摘の通りCGIファイルと log ファイル jcode.plは同じディレクトリに入れてあります。
>管理者が教えてくれないなら環境変数を解析取得して組み込んじゃいましょう。
管理者に遠慮してそれは躊躇していましたが、トライしてみます。
有難うございました。
No.1
- 回答日時:
そのコードだと、CGIファイルと同じディレクトリに jcode.pl が必要ですね。
あるか無いか、確認してください。> このCGIに関わるファイルは一切いじっておりません。
この CGIの引越し(別のディレクトリへの移動)もしてないんですね? jcode.pl の名前を変えたりもしてないんですね? 大文字・小文字の変更や全角文字の使用も大抵アウトですよ。
疑う様で申し訳ありませんが、「一切いじっておりません」は結構いろんな意味にとれるもので。
サーバー管理者のドジで必要なファイルが消される事も皆無ではありませんが、その前にまずご自身の作業にミスが無いかを確認しましょうね。
お返事有難うございます。
jcode.pl は同階層に設置しています。確認しました、
一切いじってない=ファイルも開いてない。フォルダ移動もしていない。
CGIディレクトリ存在を忘れつつあったくらい何もしてませんでした。
最後にいじったのはサーバー管理者さんでサーバーを変えたとき(3月末)にperlの実行ファイルの場所を書き換えただけです。
そして、ちゃんと動いてました。
>この CGIの引越し(別のディレクトリへの移動)もしてないんですね?
はい。以前サーバにあったままごそっと移動して来て、昨日まで普通に稼働してました。スペルも大文字小文字も全角半角も余計なスペースが入ってないかも確認しました。
フルパスもサーバー管理者に教えてもらったものをコピペしたり、指で一文字ずつおいながら打ち込んだりしたのですが、いっこうに。。。
もういちど、サーバー管理者にフルパスの確認をお願いしている所です。
もう、思いつく所がありません。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- その他(IT・Webサービス) 知り合いがバンドをしており、CDを作成したものをもらいました。 そのジャケットの表紙にQRコードがあ 5 2022/10/04 22:08
- LINE LINEアプリ内のQRコードリーダーがカメラのピントが合わず読み込めません。 2 2022/08/26 15:39
- 戸籍・住民票・身分証明書 苗字の読みを変えること 私は、吃音症がありどうしても自分の名前が言えません。 健康診断、病院の予約、 4 2023/08/15 17:01
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- C言語・C++・C# 略語の読み方について 2 2023/05/25 12:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルにてファイルの自動削除...
-
EXCELファイルに誰がアクセスし...
-
SFTPなどは使わないホームペー...
-
クライアントサイドとサーバー...
-
URLに~/cgi-bin/~を隠す方法
-
表示画面が真っ白になる場合、...
-
《エクセルVBA》「他の人が該当...
-
perlでpostが受け取れない
-
cgiにアクセスしても画面が真っ白
-
VBAでサーバーにアクセスするに...
-
HTTP500内部サーバーエラーと表...
-
ASPからJavaScriptへの受け渡し...
-
ローカルではうまくいってたの...
-
CGIでソースがそのままでてしま...
-
CGIでのPC内でのテストで画面が...
-
イントラネット用HP アクセス解...
-
ホームページのレイアウトが崩...
-
Webからアクセスし、画面のボタ...
-
水天宮前・人形町周辺深夜まで...
-
KENT WEB(昨日の続きです)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIが読み書きするデータファイ...
-
.htaccessを2つ以上設置した場合
-
FFFTPでアップロードできない?
-
CGI実行環境下の.jsや.cssが動...
-
WIn32API ディレクトリ内ファイ...
-
イントラネットのwebページのア...
-
JavaScriptdeファ...
-
CSVファイルのパーミッションは?
-
Apacheのcgi-bin
-
なぜフォルダ名がcgi-binなの?
-
階層を変えると動作しないです。
-
mimeの取得方法
-
CGIでjcode.plを読み込めなくな...
-
Cで作ったexeファイルをCGIとし...
-
SSIの日付の文字化けの対処方法...
-
AutoRinkの設定。
-
ディレクトリを指定してディレ...
-
CGI 設置方法
-
Rubyで特定のディレクトリ以下...
-
Borland C++ Compiler のセット...
おすすめ情報