首頁  >  問答  >  主體

PHP如何在腳本載入完成後顯示錯誤?

我已經使用:

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

在我的程式碼的開頭。但是,錯誤訊息直接顯示在輸出中(數量很多,因此您無法很好地找到錯誤)。

腳本載入完成後,如何顯示發生的所有錯誤?

P粉585541766P粉585541766181 天前386

全部回覆(1)我來回復

  • P粉521697419

    P粉5216974192024-04-04 00:03:03

    您可以將錯誤/異常處理程序與析構函數一起使用。處理程序捕獲錯誤,析構函數將在頁面的最底部顯示捕獲的錯誤。

    class ErrorHandler {
        private static $instance = null;
        private static $errors = [];
        
        public static function Init() {
            if(!self::$instance) {
                self::$instance = new self;
                
                set_error_handler(function($errno, $errstr, $errfile, $errline){
                    self::$errors[] = new ErrorException($errstr, 0, $errno, $errfile, $errline);
                });
                
                set_exception_handler(function($ex){
                    self::$errors[] = $ex;
                });
            }
        }
        
        function __destruct(){
            foreach(self::$errors as $errstr)
                echo $errstr, '
    '; } } ErrorHandler::Init();

    回覆
    0
  • 取消回覆