国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

如何捕獲PHP致命錯(cuò)誤(`E_ERROR`)?
P粉978551081
P粉978551081 2023-08-27 14:42:20
0
1
735
<p>我可以使用 <code>set_error_handler()</code> 來(lái)捕獲大多數(shù) PHP 錯(cuò)誤,但它不適用于致命 (<code>E_ERROR</code>) 錯(cuò)誤,例如調(diào)用不存在的函數(shù)。還有其他方法可以捕獲這些錯(cuò)誤嗎?</p> <p>我正在嘗試調(diào)用 <code>mail()</code> 來(lái)解決所有錯(cuò)誤,并且正在運(yùn)行 PHP 5.2.3。</p>
P粉978551081
P粉978551081

全部回復(fù)(1)
P粉576184933

使用 register_shutdown_function 記錄致命錯(cuò)誤,這需要 PHP 5.2+:

register_shutdown_function( "fatal_handler" );

function fatal_handler() {
    $errfile = "unknown file";
    $errstr  = "shutdown";
    $errno   = E_CORE_ERROR;
    $errline = 0;

    $error = error_get_last();

    if($error !== NULL) {
        $errno   = $error["type"];
        $errfile = $error["file"];
        $errline = $error["line"];
        $errstr  = $error["message"];

        error_mail(format_error( $errno, $errstr, $errfile, $errline));
    }
}

您必須定義 error_mailformat_error 函數(shù)。例如:

function format_error( $errno, $errstr, $errfile, $errline ) {
    $trace = print_r( debug_backtrace( false ), true );

    $content = "
    
表>”;
返回$內(nèi)容;
}


使用Swift Mailer編寫error_mail函數(shù)。

另請(qǐng)參閱:

Item Description
Error
$errstr
錯(cuò)誤號(hào)
$errno
文件 $錯(cuò)誤文件
$錯(cuò)誤線
跟蹤
$trace
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板