敦兮其若朴,旷兮其若谷
<?php /** * 输出捕获到的错误信息(包含致命错误) * 用到的函数有: * 1、register_shutdown_function()----脚本执行完成或意外死掉导致PHP执行即将关闭时,这个函数将会被调用 * 2、set_error_handler()----脚本执行完成或意外死掉导致PHP执行即将关闭时,这个函数将会被调用 * 3、error_get_last()----函数返回最后发生的错误(以关联数组的形式) */ register_shutdown_function( "fatal_handler" ); set_error_handler("error_handler"); define('E_FATAL', E_ERROR | E_USER_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_RECOVERABLE_ERROR| E_PARSE );//获取fatal error function fatal_handler() { $error = error_get_last(); if($error && ($error["type"]===($error["type"] & E_FATAL))) { $errno = $error["type"]; $errfile = $error["file"]; $errline = $error["line"]; $errstr = $error["message"]; error_handler($errno,$errstr,$errfile,$errline); } } //获取所有的error function error_handler($errno,$errstr,$errfile,$errline){ $str=<<<EOF "errno":$errno<br> "errstr":$errstr<br> "errfile":$errfile<br> "errline":$errline<br> <br> EOF; //获取到错误可以自己处理,比如记Log、报警等等 echo $str; } // testst();//测试不存在的函数testst(),输出获取的错误信息
© 后花院 | 静心思考 | Powered by EMLOG | Theme by NIMA
友情链接:Nutcracker