PHP错误处理函数怎么办
PHP错误处理函数怎么办?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
当程序在线上运行时,如果遇到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错误处理函数怎么办的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。