さくらのサーバで手っ取り早くCGIのエラーメッセージを確認する

  • さくらのサーバでperlCGIスクリプトを実行。500Internal Server Error。
  • だけど何のエラーが原因で500が出てるのかわからんよ!
  • Webサーバのエラーログを確認すればいいんじゃね?
  • けどさくらではエラーログはメールしなきゃ見れない

Q : CGIの不具合を解決するためにエラーログを見たいのですが、可能ですか。
A : はい、該当の時刻、時間範囲をご指定ください。

CGIで起こっている問題解消のために、サーバに残ったエラーログをお渡しすることができます。

ページが見つかりません|さくらインターネット公式サポートサイト
  • けど開発中にいちいちメールなんてやってらんねえ&待ってらんねえ
  • そんなときにはCGI::Carp!
  • 500 Internal Server Errorのエラーメッセージの代わりにWebサーバのエラーログに出力されるエラーメッセージを、ブラウザからさくっと確認できます
  • 使い方

use CGI::Carp 'fatalsToBrowser';

  • これで500 Internal Server Errorが出力されるとWebサーバのエラーメッセージが出力されるようになる。
  • メッセージ例

Software error:

Can't insert new xxx: DBI connect('dbname','username',...) failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) at /home/user/perl/lib/perl5/site_perl/5.8.8//Ima/DBI.pm line 328
at test.cgi line 24

For help, please send mail to the webmaster (support@sakura.ad.jp), giving this error message and the time and date of the error.

  • こんなんです。
  • 開発速度アップは間違いないかも。