2015-08-16 86 views
-1

Im通過eval執行php代碼列表,如果在代碼中有任何錯誤,我想要顯示此代碼有致命的錯誤/解析錯誤。有沒有辦法在PHP中捕捉eval致命錯誤?

有沒有什麼辦法讓自定義消息爲致命錯誤或任何其他錯誤

我的代碼是這樣的:

$output = []; 
foreach($codes as $key => $res) { 

    if(eval($res['code'])) { 
     eval($res['code']); 
     $output[$key] = $result; 
    } else { 
     $output[$key] = "Fatal error in code";    
    }  
} 
var_dump($output); 
+0

也許有幫助? [使用register_shutdown_function()處理PHP中的致命錯誤](http://stackoverflow.com/questions/4410632/handle-fatal-errors-in-php-using-register-shutdown-function)。其實,非常有用。這對調試觸發致命錯誤的「尷尬」問題非常有用。 –

回答

0

嘗試改變你的代碼,使用的try-catch

$output = []; 
try { 
foreach($codes as $key => $res) { 
    if(eval($res['code'])) { 
    eval($res['code']); 
    $output[$key] = $result; 
} else { 
    $output[$key] = "Fatal error in code";    
} 
}  
} catch (Exception $ex) { 
var_dump($ex); 

} 
+0

它給出致命錯誤而不是自定義消息 – sas

+1

您無法捕捉致命錯誤。這些都不是例外。 – Dekel

相關問題