PHP代码
  1. // we will do our own error handling  
  2. error_reporting(E_ALL);  
  3.   
  4. // user defined error handling function  
  5. function userErrorHandler($errno$errmsg$filename$linenum$vars)   
  6. {  
  7.     // timestamp for the error entry  
  8.     $dt = date("Y-m-d H:i:s (T)");  
  9.   
  10.     // define an assoc array of error string  
  11.     // in reality the only entries we should  
  12.     // consider are E_WARNING, E_NOTICE, E_USER_ERROR,  
  13.     // E_USER_WARNING and E_USER_NOTICE  
  14.     $errortype = array (  
  15.                 E_ERROR              => ‘Error’,  
  16.                 E_WARNING            => ‘Warning’,  
  17.                 E_PARSE              => ‘Parsing Error’,  
  18.                 E_NOTICE             => ‘Notice’,  
  19.                 E_CORE_ERROR         => ‘Core Error’,  
  20.                 E_CORE_WARNING       => ‘Core Warning’,  
  21.                 E_COMPILE_ERROR      => ‘Compile Error’,  
  22.                 E_COMPILE_WARNING    => ‘Compile Warning’,  
  23.                 E_USER_ERROR         => ‘User Error’,  
  24.                 E_USER_WARNING       => ‘User Warning’,  
  25.                 E_USER_NOTICE        => ‘User Notice’,  
  26.                 E_STRICT             => ‘Runtime Notice’,  
  27.                 E_RECOVERABLE_ERROR  => ‘Catchable Fatal Error’  
  28.                 );  
  29.     // set of errors for which a var trace will be saved  
  30.     $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);  
  31.       
  32.     $err = "\n";  
  33.     $err .= "\t" . $dt . "\n";  
  34.     $err .= "\t" . $errno . "\n";  
  35.     $err .= "\t" . $errortype[$errno] . "\n";  
  36.     $err .= "\t" . $errmsg . "\n";  
  37.     $err .= "\t" . $filename . "\n";  
  38.     $err .= "\t" . $linenum . "\n";  
  39.   
  40.     if (in_array($errno$user_errors)) {  
  41.         $err .= "\t" . wddx_serialize_value($vars"Variables") . "\n";  
  42.     }  
  43.     $err .= "\n\n";  
  44.       
  45.     // for testing  
  46.     // echo $err;  
  47.   
  48.     // save to the error log, and e-mail me if there is a critical user error  
  49.     error_log($err, 3, "error.log");  
  50.     if ($errno == E_USER_ERROR) {  
  51.         mail("myseaprince@qq.com""Critical User Error"$err);  
  52.     }  
  53. }  
  54.   
  55. $old_error_handler = set_error_handler("userErrorHandler");  
  56.   
  57. mysql_connect("localhost""root""");  
  58.   
  59. ?> </li> </ol> </div> 把PHP的错误显示控制住,并按自己的方式显示。