Maison > Questions et réponses > le corps du texte
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粉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();