cgiのエラー内容をブラウザで確認するには

何かとエラーに見舞われることの多いmail-entry。そのエラーも、普通のサーバーではブラウザに「Internal Server Error」と表示されるだけで何とも手の施しようがないと思います。

TELNETでアクセスできれば、シェルから実行するとエラーの原因が表示されるので解決しやすいのですが、TELNETを許可してくれているサーバーというのはあまりありません。

こちらで予測できるエラーについてはmail-entryでエラー表示をしているのですが、モジュール不足の場合など、どうにもならないシーンもあります。でもエラーが出るのって、モジュール不足の時が大半なんですよね・・・

なんとかエラー内容を出力できないものかと調べていたら、いいCGIが見つかりました。CGIROOMさんで公開されているチェックCGIです。ダウンロードページのサイト補助のところに、エラーチェックという名前で公開されています。

使い方は簡単で、他のCGIにするようにPerlのパスを設定して、エラーチェックをしたいCGIのファイル名を設定します。mail-entryであれはmail-entry.cgiですね。設定画面すら出ないのであればmail-entry-config.cgiとします。そしたら、サーバーのmail-entryのディレクトリへコピーして、ブラウザから実行します。

エラーがあれば、Perlが出力するエラーメッセージがそのまま表示されます。英語ですけれど、プログラミング経験のある人ならすぐに理解できるでしょう。理解できなくても、たいていエラーの発生した行番号が書いてありますから、それを参考にすれば何となく分かってきます。

モジュールが足りない場合は、モジュール名+拡張子pmとともに、モジュールがあるかどうかPerlによって調査されたディレクトリが列挙されて表示されます。MIME::Parserなどは、Parser内部で使用するモジュールが足りないこともよくあり、Parser.pm内での行番号が表示されたりもします。

どうにも分からなければ、エラーメッセージとともにコメントしてみてください。確実なお返事はお約束できませんが、出来る限りのことはしたいと思っています。ただ、最近返事が遅れ気味なので、インターネットのPerl系サイトをひたすら調べて回った方が早い場合もありそうですが・・・

コメント

zenback

このブログの人気の投稿

夢のようだ・・・

DuraSpeedとかHuaweiの電源管理とか、やめてくれ

アップルのソフトウェア・アップデート画面の用語のわかりづらさはなんとかならないものか