如果PHP达到执行超时,如何记录?

时间:2016-12-29 12:52:14

标签: php

如果PHP超过max_execution_time并且执行终止,如何记录?

我已经有了这两个功能

register_shutdown_function(function(){
    if($error = error_get_last()){
        switch($error['type']){
            case E_ERROR:
            case E_CORE_ERROR:
            case E_COMPILE_ERROR:
                $message = $error['message'].' '.$error['file'].'('.$error['line'].')';
                if(class_exists('Log')){
                    Log::write($message, 'fatal', true, true);
                }
                if(ENV != ENV_PROD){
                    echo $message;
                }
                break;
        }
    }
});

set_error_handler(function(int $errno, string $errstr, string $errfile, int $errline){
    switch($errno){
        case E_WARNING:
        case E_PARSE:
        case E_NOTICE:
            $message = "$errstr $errfile($errline)\n".(new Error)->getTraceAsString();
            if(class_exists('Log')){
                Log::write($message, 'warning', true, true);
            }
            if(ENV != ENV_PROD){
                echo $message;
            }
            break;
    }
});

0 个答案:

没有答案