PHP错误处理函数register_shutdown_function使用示例
当程序在线上运行时,如果遇到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; functionmyShutdown(){ global$debug; //无论错误是否发生,这句都会执行 echo‘ERROR‘,‘
‘; 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){ //todosendemailorlog },$current_page); error_get_last() //错误信息查看:http://php.net/manual/zh/errorfunc.constants.php
以上所述是小编给大家介绍的PHP错误处理函数register_shutdown_function使用示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!