PHP函数register_shutdown_function的使用示例

<?php
namespace comantp;

class CustomHandle {
    
    public static function systemError() {
        $message = '';
     $error = error_get_last();
if ($error && $error['type'] === E_ERROR ) { //捕获致命错误,同时记录错误信息 $separator = " "; $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(){
    comantpCustomHandle::systemError();
});
原文地址:https://www.cnblogs.com/dongruiha/p/7429931.html