にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:24:14.

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件

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

保存しますか?



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

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

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

--- 当サイト内を検索 ---