PHP函数register_shutdown_function的使用示例

<?php
namespace com\antp;

class CustomHandle {
    
    public static function systemError() {
        $message = '';
     $error = error_get_last();
if ($error && $error['type'] === E_ERROR ) { //捕获致命错误,同时记录错误信息 $separator = "\r\n"; $message .= "错误:" . $error['message'] . $separator; $message .= "文件:" . $error['file'] . $separator; $message .= "行数:" . $error['line'] . $separator; $message = str_replace($separator, '<br />', $message); header('Location:http://'.$_SERVER['HTTP_HOST'].'/error.php'); exit; }else{ //此处处理其它一些业务逻辑 } } }

函数简介

当PHP程序执行完成后,自动执行register_shutdown_function函数,该函数需要一个参数,用来指定由谁处理这些后续的工作。其中,程序执行完成,分为以下几种情况:

第一种:php代码执行过程中发生错误

第二种:php代码顺利执行成功

第三种:php代码运行超时

第四种:页面被用户强制停止

 

调用方法:该调用方法兼容老版本的php,把回调函数作为参数,而不是传入一个类名、方法名的一个数组作为参数。

require 'CustomHandle.php';
register_shutdown_function(function(){
    com\antp\CustomHandle::systemError();
});

 

posted on 2017-08-25 22:29  dongruiha  阅读(140)  评论(0编辑  收藏  举报

导航