[PHP-users 23074]エラー処理
m.awano
awano @ main-concept.co.jp
2004年 8月 25日 (水) 01:38:40 JST
お世話になります。
PHPのエラーのクラスを作ったのですが、Parse error:が拾えません。
Parse errorもエラークラスで拾いたいのですが、どこかまずい個所ありますでしょ
うか?
その他のエラーは正しく処理されます。
おしえてください。
よろしくお願いします。
//PHPエラー処理
function php_error_handler ($errno, $errmsg, $filename, $linenum, $vars) {
//Smartyのクラス定義を読み込む
require_once('smarty_user.php');
//Smartyのインスタンス生成
$tpl = new smarty_user;
//ユーザーエラー
if( $errno == 512){
//配列をシリアルから元に戻す
$errorArray = unserialize(base64_decode($errmsg));
for( $i=1; $i < count($errorArray); $i++ ) {
$tpl->append("errormsg",$errorArray[$i]);
}
$tpl->display("member/error_user.tpl");
exit();
//システムエラー
}elseif( $errno <> 8){
//タグ変数の置換
$tpl->assign("errormsg",$GLOBALS["sys_error"]);
//テンプレートを読み込んで出力
$tpl->display("member/error_system.tpl");
// エラー発生時間
$time = date("Y-m-d H:i:s");
// エラーの種類を表す連想配列を定義
$errortype = array (1=>"Error",2=>"Warning",4=>"Parsing
Error",8=>"Notice",
16=>"Core Error",32=>"Core Warning",
64=>"Compile Error",128=>"Compile Warning",
256=>"User Error",512=> "User Warning",1024=>"User Notice");
$err = "<errorentry>\n";
$err .= "\t<datetime>".$time."</datetime>\n";
$err .= "\t<errornum>".$errno."</errornum>\n";
$err .= "\t<errortype>".$errortype[$errno]."</errortype>\n";
$err .= "\t<errormsg>".$errmsg."</errormsg>\n";
$err .= "\t<scriptname>".$filename."</scriptname>\n";
$err .= "\t<scriptlinenum>".$linenum."</scriptlinenum>\n";
$err .=
"\t<vartrace>".wddx_serialize_value($vars,"Variables")."</vartrace>\n";
$err .= "</errorentry>\n\n";
//メール通知
mb_send_mail("awano @ main-concept.co.jp","エラー発生通知",$err);
//ログに保存
error_log($err, 3, $GLOBALS["log_file"]);
exit();
}
}
//PEARエラー処理
function pear_error_handler ($err_obj) {
trigger_error ($err_obj, E_USER_ERROR);
}
//errorクラスの設定
class error_user {
function error_user () {
//共通変数設定ファイルを読み込む
error_reporting ($GLOBALS["error_report"]);
// error_reporting (E_ALL);
//PHPエラーハンドラ関数を設定
set_error_handler ('php_error_handler');
require_once 'PEAR.php';
//PEARエラーハンドラ関数を設定
PEAR::setErrorHandling (PEAR_ERROR_CALLBACK, 'pear_error_handler');
}
}
===============================
株式会社メインコンセプト
淡野 誠人
PHP-users メーリングリストの案内