Ignore:
Timestamp:
2012/01/17 16:03:47 (11 years ago)
Author:
Seasoft
Message:

2.12系へマイルストーン変更となったチケット分を差し戻し
r21388 #1593
r21387 #1592
r21386 #1591
r21384 #1589,#1588
r21383 #1580

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/html/handle_error.php

    r21384 r21400  
    2424ob_start('_fatal_error_handler'); 
    2525 
    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  
    3626// E_USER_ERROR を捕捉した場合にエラー画面を表示させるためのエラーハンドラ 
    37 set_error_handler('handle_error', error_reporting()); 
     27set_error_handler('handle_error'); 
    3828 
    3929/** 
     
    7363 * trigger_error にて E_USER_ERROR が生成されると, エラーログを出力した後, 
    7464 * エラー画面を表示させる. 
    75  * E_WARNING, E_USER_WARNING が発生した場合、ログを記録して、true を返す。 
    76  * (エラー画面・エラー文言は表示させない。) 
     65 * 
     66 * E_USER_ERROR 以外のエラーが生成された場合, この関数は true を返す. 
    7767 * 
    7868 * @param integer $errno エラーコード 
     
    8171 * @param integer $errline エラーが発生した行番号 
    8272 * @return void|boolean E_USER_ERROR が発生した場合は, エラーページへリダイレクト; 
    83  *                      E_WARNING, E_USER_WARNING が発生した場合、true を返す 
     73 *                      E_USER_ERROR 以外の場合は true 
    8474 */ 
    8575function handle_error($errno, $errstr, $errfile, $errline) { 
    86  
    87     // error_reporting 設定に含まれていないエラーコードは処理しない 
    88     if (!(error_reporting() & $errno)) { 
    89         return; 
    90     } 
    91  
    9276    $now = date("Y/m/d H:i:s"); 
    9377    switch ($errno) { 
    94         case E_USER_ERROR: 
    95             error_log($now . " [$errfile] FATAL Error($errno) $errfile:$errline $errstr from ". $_SERVER['REMOTE_ADDR'] . "\n", 3, realpath(dirname(__FILE__) . "/" . HTML2DATA_DIR . "logs/site.log")); 
     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")); 
    9680 
    97             displaySystemError($errstr); 
    98             exit(1); 
    99             break; 
     81        displaySystemError($errstr); 
     82        exit(1); 
     83        break; 
    10084 
    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: 
    10888    } 
     89    return true; 
    10990} 
    11091 
Note: See TracChangeset for help on using the changeset viewer.