美文网首页
php register_shutdown_function

php register_shutdown_function

作者: 金星show | 来源:发表于2019-01-18 17:22 被阅读0次

    测试环境下 开启日志错误和提示。

    1.register_shutdown_function — 注册一个会在php中止时执行的函数
    注册一个 callback ,它会在脚本执行完成或者 exit()后被调用。

    if($environ != 'product'){
                error_reporting(E_ALL); //2047
                ini_set('display_errors',true);
                register_shutdown_function(array('\Util\Help', 'shutdown'));
            }
    

    当代码报错exit()后或者程序执行完毕。按顺序执行注册的方法。

    private static $_scriptErrorArr = array(
                \E_ERROR => 'error',//1,致命的运行时错误
                \E_PARSE => 'parse',//4,编译时语法解析错误
        );
     /**
         * 日志记录
         */
        public static function shutdown(){
            $e = error_get_last();//记录程序最后报错的信息
            if($e) {
                if(isset(self::$_scriptErrorArr[$e['type']])) {
                    //错误标准头部,以便于后期搜索排查
                    $fatalHead = '500_FATAL';
                    $fatalHead .= ' ' . self::$_scriptErrorArr[$e['type']];
                    //记录500错误
                    $msg = $fatalHead . ',file:' . $e['file'] . ',line:' . $e['line'] . ',error:' . $e['message'];
                    Core::write($msg,Core::LEVEL_ERROR,'system');
                }
            }
        }
    

    相关文章

      网友评论

          本文标题:php register_shutdown_function

          本文链接:https://www.haomeiwen.com/subject/eghxyftx.html