17時41分44秒 [Web関連]
実行したCGIに何か問題があっても、ブラウザには「Internal Server Error」というメッセージが表示されるだけで、詳しいエラー内容は教えてくれません。
エラー内容はエラーログファイルに記録されているので、ログファイルを見れば済むことです。が、サーバをまるごと自分が管理してるのでない場合、ログファイルを参照できないことがあります。そんなときは、KCatchというモジュールを使うと便利そうです。
サーバが商用レンタルサーバだとかいう場合、エラーログが提供されてないことがよくあります。単純なミスの場合は、ローカルのコンソールで実行してみれば、コンソール上でエラーメッセージが読めるのですが。ローカルではうまくいくもののサーバではうまくいかない場合に、なかなか困ります。
サーバにもtelnetでアクセスできる場合なら、telnet上でCGIを実行させてみてエラーメッセージを見ることもできます。が、いろんなパラメータを受け取って動作が変化するCGIなど、ブラウザで実行させるのとコンソールで実行させるのとで動作が異なる場合なんかは、それでも困ります。
やはり、どうしても、エラーメッセージを直接見たいのですよね…。
で、何かいいのないかな…と探していたら、「KCatch」というPerlモジュールを発見しました。このモジュールを使うと、Internal Server Errorではなく、エラーメッセージをブラウザ上に表示してくれるらしいです。
おおぅ。こりゃ便利だ!
説明は、以下のサイトが分かりやすいです。
◆Perlモジュール/KCatch - Walrus,Digit. (Not Found)
公式サイトはこちら。
◆Perl CGI エラーメッセージをブラウザに表示
で、使ってみた感じを報告…しようかと思ったんですけど、その前に問題が解決しちゃったので、まだ使ってません。(^^;;;
次に必要になったときに試してみます…。^^;;;
あと、これとは別に、CGI::Carpモジュールを使う方法というのもあったんだけど、なぜかうまくいきませんでした。
数分しか時間かけなかったので、なんか別のとこでイージーミスをしてただけなのかも知れませんけど。
この日記へのコメントはお気軽に! コメント数:0件
コメント数: 0件