首頁  >  文章  >  後端開發  >  自定义 php 错误捕获代码, register_shutdown_function(), set_error_handler(

自定义 php 错误捕获代码, register_shutdown_function(), set_error_handler(

WBOY
WBOY原創
2016-07-25 08:45:571559瀏覽
自定义 php 错误捕获代码, register_shutdown_function(), set_error_handler()
  1. /**
  2. * @Author: yangyulong
  3. * @Date: 2015-12-28 22:09:22
  4. * @Last Modified by: yangyulong
  5. * @Last Modified time: 2015-12-28 22:48:49
  6. */
  7. error_reporting(0);
  8. //注册错误捕捉函数
  9. register_shutdown_function('jd_fatal_error');
  10. //注册错误处理函数
  11. set_error_handler('jd_error_handler');
  12. function jd_fatal_error(){
  13. if ($e = error_get_last()) {
  14. switch ($e['type']) {
  15. case E_ERROR:
  16. case E_PARSE:
  17. case E_CORE_ERROR:
  18. case E_COMPILE_ERROR:
  19. case E_USER_ERROR:
  20. //所有测错误类型都用下面的函数同意捕获
  21. jd_error_handler($e['type'], $e['message'], $e['file'], $e['line']);
  22. break;
  23. }
  24. }
  25. }
  26. /**
  27. * 捕获错误的函数
  28. *
  29. * @method jd_error_handler
  30. *
  31. * @param [type] $type [description]
  32. * @param [type] $message [description]
  33. * @param [type] $file [description]
  34. * @param [type] $line [description]
  35. *
  36. * @return [type] [description]
  37. */
  38. function jd_error_handler($type, $message, $file, $line){
  39. echo ''.$type.':'.$message.' in '.$file.' on '.$line. ' line .
    ';
  40. }
  41. print_r(xx());
  42. // print_r(debug_backtrace());
  43. // print_r(debug_print_backtrace());
复制代码
自定义, php, register


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn