Bagaimanakah PHP memaparkan ralat selepas skrip selesai dimuatkan?
P粉585541766
P粉585541766 2024-04-03 22:11:06
0
1
499

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粉585541766
P粉585541766

membalas semua(1)
P粉521697419

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();
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan