とあるエンジニアの闇歴史帳

コピペで使える便利Wiki ※現在構築中です。

ユーザ用ツール


perl:cgi_carp_fatalstobrowser

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

perl:cgi_carp_fatalstobrowser [2017/12/14 20:18]
perl:cgi_carp_fatalstobrowser [2020/06/23 14:10] (現在)
行 1: 行 1:
 +====== 異常終了した際にエラーメッセージを表示したい - Perl ======
 +~~socialite~~
 +<note important>この記事は2007年05月17日に書かれた物です</note>
 +
 +実行しているCGIに致命的なエラーが発生した際に通常は「500 Internal Server Error」となり異常終了するところを、エラーメッセージなどを表示したい。**CGI::Carp**モジュールを利用すれば良い。
 +
 +使い方は非常にシンプルで、CGI::Carpモジュールをuseする際に**'fatalsToBrowser'**を渡してやれば良い。
 +
 +===== サンプル =====
 +<code perl>
 +;#
 +;#異常終了時にエラーメッセージを表示する
 +;#
 +
 +use strict;
 +use CGI::Carp qw(fatalsToBrowser);
 +
 +#-- わざと異常終了  --#
 +die('debug now');
 +</code>
 +
 +
 +もしくは次のような簡単なCGIをあらかじめ設置、別ウィンドウで実行しておきエラーが発生したら再読み込みといった方法もある。以下はLinux + Apacheの例。
 +<code perl>
 +#!/usr/bin/perl
 +
 +;#
 +;#エラーログを表示
 +;#
 +
 +use strict;
 +
 +#--エラーログの場所--#
 +my $error_log = '/usr/local/apache/logs/error_log';
 +
 +#--エラーログ表示--#
 +print "Content-type: text/plain\n\n";
 +print `tail $error_log`;
 +
 +exit;
 +</code>
 +
 +もちろんエラーログを読める権限が必要なので実行の際はご確認を。
 +
 +===== 関連書籍 =====
 +{{amazon>jp:4797336803}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:4274068765}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:B00ISP0OM8}}
 +<html><p style="clear:both"></p></html>
 +
 +{{tag>CGI・Perl例文集 Perl CGI }}
 +~~socialite~~
  

関連ページ