suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie zeigt PHP einen Fehler an, nachdem das Skript vollständig geladen wurde?

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粉585541766P粉585541766230 Tage vor468

Antworte allen(1)Ich werde antworten

  • 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();

    Antwort
    0
  • StornierenAntwort