Maison  >  Questions et réponses  >  le corps du texte

Comment PHP affiche-t-il une erreur une fois le chargement du script terminé ?

J'ai utilisé :

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

Au début de mon code. Cependant, les messages d'erreur sont affichés directement dans la sortie (ils sont nombreux, donc on ne trouve pas très bien les erreurs).

Comment afficher toutes les erreurs survenues après le chargement du script ?

P粉585541766P粉585541766181 Il y a quelques jours382

répondre à tous(1)je répondrai

  • P粉521697419

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

    Vous pouvez utiliser des gestionnaires d'erreurs/exceptions avec des destructeurs. Le gestionnaire détecte l'erreur et le destructeur affiche l'erreur détectée tout en bas de la page.

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

    répondre
    0
  • Annulerrépondre