Thinkphp的致命错误捕获流程
1. 程序start的时候注册脚本结束时的回调函数:
register_shutdown_function('Think\Think::fatalError');
2. 通过error_get_last()获取最后一次发生的错误信息
static public function fatalError() { Log::save(); if ($e = error_get_last()) { switch($e['type']){ case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_COMPILE_ERROR: case E_USER_ERROR: ob_end_clean(); self::halt($e); break; } } }
3. 通过halt格式化错误信息输出