Heim > Fragen und Antworten > Hauptteil
Ich habe verwendet:
ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); error_reporting(E_ALL);
Am Anfang meines Codes. Allerdings werden die Fehlermeldungen direkt in der Ausgabe angezeigt (es gibt viele davon, sodass man die Fehler nicht so gut finden kann).
Wie zeige ich alle Fehler an, die nach dem Laden des Skripts aufgetreten sind?
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();