Presented by Nishishi via Movable Type. Last Updated: 2007/11/04. 05:18:39.

Internal Server Errorを防いでブラウザでエラーを確認する

実行したCGIに何か問題があっても、ブラウザには「Internal Server Error」というメッセージが表示されるだけで、詳しいエラー内容は教えてくれません。
エラー内容はエラーログファイルに記録されているので、ログファイルを見れば済むことです。が、サーバをまるごと自分が管理してるのでない場合、ログファイルを参照できないことがあります。そんなときは、KCatchというモジュールを使うと便利そうです。

サーバが商用レンタルサーバだとかいう場合、エラーログが提供されてないことがよくあります。単純なミスの場合は、ローカルのコンソールで実行してみれば、コンソール上でエラーメッセージが読めるのですが。ローカルではうまくいくもののサーバではうまくいかない場合に、なかなか困ります。

サーバにもtelnetでアクセスできる場合なら、telnet上でCGIを実行させてみてエラーメッセージを見ることもできます。が、いろんなパラメータを受け取って動作が変化するCGIなど、ブラウザで実行させるのとコンソールで実行させるのとで動作が異なる場合なんかは、それでも困ります。

やはり、どうしても、エラーメッセージを直接見たいのですよね…。

で、何かいいのないかな…と探していたら、「KCatch」というPerlモジュールを発見しました。このモジュールを使うと、Internal Server Errorではなく、エラーメッセージをブラウザ上に表示してくれるらしいです。
おおぅ。こりゃ便利だ!

説明は、以下のサイトが分かりやすいです。
Perlモジュール/KCatch - Walrus,Digit.

公式サイトはこちら。
Perl CGI エラーメッセージをブラウザに表示

で、使ってみた感じを報告…しようかと思ったんですけど、その前に問題が解決しちゃったので、まだ使ってません。(^^;;;
次に必要になったときに試してみます…。^^;;;

あと、これとは別に、CGI::Carpモジュールを使う方法というのもあったんだけど、なぜかうまくいきませんでした。
数分しか時間かけなかったので、なんか別のとこでイージーミスをしてただけなのかも知れませんけど。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:0

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)