Changeset 21400 for branches/version-2_11-dev/html/handle_error.php
- Timestamp:
- 2012/01/17 16:03:47 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/html/handle_error.php
r21384 r21400 24 24 ob_start('_fatal_error_handler'); 25 25 26 // E_DEPRECATED 定数 (for PHP < 5.3)27 // TODO バージョン互換処理に統合したい。28 if (!defined('E_DEPRECATED')) {29 define('E_DEPRECATED', 8192);30 }31 32 // エラーレベル設定33 // 開発時は E_ALL を推奨34 error_reporting(E_ALL & ~E_NOTICE & ~E_USER_NOTICE & ~E_DEPRECATED);35 36 26 // E_USER_ERROR を捕捉した場合にエラー画面を表示させるためのエラーハンドラ 37 set_error_handler('handle_error' , error_reporting());27 set_error_handler('handle_error'); 38 28 39 29 /** … … 73 63 * trigger_error にて E_USER_ERROR が生成されると, エラーログを出力した後, 74 64 * エラー画面を表示させる. 75 * E_WARNING, E_USER_WARNING が発生した場合、ログを記録して、true を返す。76 * (エラー画面・エラー文言は表示させない。)65 * 66 * E_USER_ERROR 以外のエラーが生成された場合, この関数は true を返す. 77 67 * 78 68 * @param integer $errno エラーコード … … 81 71 * @param integer $errline エラーが発生した行番号 82 72 * @return void|boolean E_USER_ERROR が発生した場合は, エラーページへリダイレクト; 83 * E_ WARNING, E_USER_WARNING が発生した場合、true を返す73 * E_USER_ERROR 以外の場合は true 84 74 */ 85 75 function handle_error($errno, $errstr, $errfile, $errline) { 86 87 // error_reporting 設定に含まれていないエラーコードは処理しない88 if (!(error_reporting() & $errno)) {89 return;90 }91 92 76 $now = date("Y/m/d H:i:s"); 93 77 switch ($errno) { 94 95 78 case E_USER_ERROR: 79 error_log($now . " [$errfile] FATAL Error($errno) $errfile:$errline $errstr from ". $_SERVER['REMOTE_ADDR'] . "\n", 3, realpath(dirname(__FILE__) . "/" . HTML2DATA_DIR . "logs/site.log")); 96 80 97 98 99 81 displaySystemError($errstr); 82 exit(1); 83 break; 100 84 101 case E_WARNING: 102 case E_USER_WARNING: 103 error_log($now . " [$errfile] WARNING($errno) $errfile:$errline $errstr from ". $_SERVER['REMOTE_ADDR'] . "\n", 3, realpath(dirname(__FILE__) . "/" . HTML2DATA_DIR . "logs/site.log")); 104 return true; 105 break; 106 107 default: 85 case E_USER_WARNING: 86 case E_USER_NOTICE: 87 default: 108 88 } 89 return true; 109 90 } 110 91
Note: See TracChangeset
for help on using the changeset viewer.