您好,欢迎访问一九零五行业门户网

PHP捕捉错误的方法

这篇文章主要介绍了关于php捕捉错误的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
php捕捉错误 禁止错误输出
error_reporting(0);
设置错误处理器
set_error_handler('errorhandler');
在脚本结束时运行的函数
register_shutdown_function('fatalerrorhandler');
错误处理
/** * @param int $err_no 错误代码 * @param string $err_msg 错误信息 * @param string $err_file 错误文件 * @param int $err_line 错误行号 * @return string */function errorhandler($err_no = 0, $err_msg = '', $err_file = '', $err_line = 0){ $log = [ '['.date('y-m-d h-i-s').']', '|', $err_no, '|', $err_msg, '|', $err_file, '|', $err_line ]; $log_path = './test.txt'; error_log(implode(' ',$log).\r\n,3, $log_path);}
捕捉致命错误
function fatalerrorhandler() { $e = error_get_last(); var_export($e); switch ($e['type']) { case 1: errorhandler($e['type'], $e['message'], $e['file'], $e['line']); break; }}
class democlass_1{ public function index() { //这里发生一个警告错误,出发errorhandler echo $undefinedvarible; }}
这里发生一个警告错误,被errorhandler 捕获
$demo_1 = new democlass_1();$demo_1->index();
发生致命错误,脚本停止运行触发 fatalerrorhandler
$demo_2 = new democlass_2();$demo_2->index();
打开test.txt后 输出:
[2018-06-12 05-49-11] | 8 | undefined variable: undefinedvarible | /users/darry/htdocs/test.php | 57[2018-06-12 05-49-11] | 1 | uncaught error: class 'democlass_2' not found in /users/darry/htdocs/test.php:67stack trace:#0 {main} thrown | /users/darry/htdocs/test.php | 67
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注!
相关推荐:
nginx ssl快速双向认证配置(脚本)
php数据结构基础之递归
关于thinkphp行为的使用
以上就是php捕捉错误的方法的详细内容。
其它类似信息

推荐信息