PHP错误处理函数register_shutdown_function使用示例

当程序在线上运行时,如果遇到BUG,想不在前端输出错误信息,同时能及时邮件通知开发者,register_shutdown_function函数就可以派上用场了。

注册一个会在脚本执行完成或者 exit() 后被调用函数

可以多次调用 register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用

register_shutdown_function 函数,当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,我们的这个函数将会 被调用,可以配合 error_get_last 使用,获取错误信息。

rush:PHP;"> register_shutdown_function ( callable $callback [,mixed $parameter [,mixed $... ]] )

callable 回调函数

parameter 可以通过传入额外的参数来将参数传给中止函数

DEMO1:

rush:PHP;"> //关闭错误报告 error_reporting(0); //实现自己的错误信息展示 register_shutdown_function(‘myShutdown‘); $debug = true; function myShutdown() { global $debug; // 无论错误是否发生,这句都会执行 echo ‘ERROR‘,‘
‘; if (!$debug) { $error = error_get_last(); // todo 可以在这里邮件发送提醒 或 错误日志收集 var_export($error); } }

DEMO2

rush:PHP;"> // 回到函数带参数:记录当前请求URL $current_page = htmlspecialchars($_SERVER[‘SCRIPT_NAME‘],ENT_QUOTES,‘UTF-8‘); $current_page .= $_SERVER[‘QUERY_STRING‘] ? ‘?‘.htmlspecialchars($_SERVER[‘QUERY_STRING‘],‘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使用示例,希望对大家有所帮助。程序员遇到问题都会上(编程之家jb51.cc)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...