Rumah > Soal Jawab > teks badan
Saya telah menggunakan:
ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); error_reporting(E_ALL);
Pada permulaan kod saya. Walau bagaimanapun, mesej ralat dipaparkan secara langsung dalam output (terdapat banyak daripadanya, jadi anda tidak dapat mencari ralat dengan baik).
Bagaimana untuk memaparkan semua ralat yang berlaku selepas skrip dimuatkan?
P粉5216974192024-04-04 00:03:03
Anda boleh menggunakan pengendali ralat/pengecualian dengan pemusnah. Pengendali menangkap ralat dan pemusnah memaparkan ralat yang ditangkap di bahagian paling bawah halaman.
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();