时间:2021-05-26
当程序在线上运行时,如果遇到BUG,想不在前端输出错误信息,同时能及时邮件通知开发者,register_shutdown_function函数就可以派上用场了。
注册一个会在脚本执行完成或者 exit() 后被调用的函数。
可以多次调用 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。
register_shutdown_function 函数,当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,我们的这个函数将会 被调用,可以配合 error_get_last 使用,获取错误信息。
register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )callable 回调函数
parameter 可以通过传入额外的参数来将参数传给中止函数
DEMO1:
//关闭错误报告error_reporting(0);//实现自己的错误信息展示register_shutdown_function(‘myShutdown‘);$debug = true;function myShutdown() { global $debug; // 无论错误是否发生,这句都会执行 echo ‘ERROR‘ , ‘<br/>‘; if (!$debug) { $error = error_get_last(); // todo 可以在这里做邮件发送提醒 或 错误日志收集 var_export($error); }}DEMO2
// 回到函数带参数:记录当前请求URL$current_page = htmlspecialchars($_SERVER[‘SCRIPT_NAME‘], ENT_QUOTES, ‘UTF-8‘);$current_page .= $_SERVER[‘QUERY_STRING‘] ? ‘?‘.htmlspecialchars($_SERVER[‘QUERY_STRING‘], ENT_QUOTES, ‘UTF-8‘) : ‘‘;register_shutdown_function(function ($current_page) { //todo send email or log}, $current_page);error_get_last() //错误信息查看:http://php.net/manual/zh/errorfunc.constants.php以上所述是小编给大家介绍的PHP错误处理函数register_shutdown_function使用示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
设定错误和异常处理三函数register_shutdown_function(array(‘Debug','fatalError'));//定义PHP程序执行完
前言最近在看《PHP核心技术与最佳实践》,里面有使用到一个函数,register_shutdown_function,由于之前没有用过该函数,就去查了一下资料,
本文实例讲述了PHP函数超时处理方法。分享给大家供大家参考,具体如下:register_shutdown_functionRegistersthefunctio
php自定义错误日志项目中需要对定义错误日志及时处理,那么就需要修改自定义错误日志的输出方式(写日志、发邮件、发短信)一.register_shutdown_f
在PHP中,默认的错误处理很简单。一条错误消息会被发送到浏览器,这条消息带有文件名、行号以及描述错误的消息。PHP错误处理在创建脚本和Web应用程序时,错误处理