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

2025-05-29 0 84

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

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

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

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

?

1
register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )

callable 回调函数

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

DEMO1:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
//关闭错误报告

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

?

1

2

3

4

5

6

7

8
// 回到函数带参数:记录当前请求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使用示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

原文链接:http://www.bubuko.com/infodetail-2150875.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP错误处理函数register_shutdown_function使用示例 https://www.kuaiidc.com/94212.html

相关文章

发表评论
暂无评论