На данный момент это все, что можно сделать с этим. Я обновлю его, если найду новую информацию в будущем.

я есть это:

У меня есть файл HTTACCESS с директивой для добавления файла для конфигурации и обработки ошибки: (это обязательно: Согласно документации, этот файл должен быть прикреплен перед выполнением любого другого сценария php для получения ошибок: например, E_PARSE.)

php_value auto_prepend_file "./server/conferror.php"

содержание conferror.php:

<?php
declare(strict_types=1);
ini_set('session.gc_maxlifetime', '0');
ini_set('session.use_only_cookies', '1');
ini_set('session.cookie_httponly', '1');
ini_set('allow_url_fopen', '1');
ini_set('allow_url_include', '1');
ini_set('error_reporting', '1');
ini_set('display_errors', '0');
error_reporting(E_ALL);
set_error_handler("ErrorHandler");
register_shutdown_function("ShutdownHandler");
function ErrorHandler($error_level, $error_message, $error_file, $error_line, $error_context) {
    $ErrorHandler = "<b>File:</b> " . $error_file . '<br>' .
        "<b>Line :</b> " . $error_line . '<br>' .
        "<b>Desc:</b> <br>" . $error_message . '<br>';
    echo $ErrorHandler;
    exit;
}
function ShutdownHandler() {
    $CheckError = error_get_last();
    if ($CheckError != null) {
        $ErrorHandler = "<b>File:</b> " . $CheckError['file'] . '<br>' .
            "<b>Line :</b> " . $CheckError['line'] . '<br>' .
            "<b>Desc:</b> <br>" . $CheckError['message'] . '<br>';
        echo $ErrorHandler;
        exit;
    }
}
?>

в моем index.php у меня есть это, чтобы начать работу приложения:

<?php
    require_once 'class.Main.php';
    $WebAPP = new CORE();
    $WebAPP->Main();
?>

в главном файле у меня есть тест, этот код для сброса статического объекта и тестовых обработчиков ошибок:

<?php
class CORE {
    public static $ObjClass;
    public function __construct() {
        self::$ObjClass['data']='data';
    }
    public function __destruct() {
        unset(CORE::$ObjClass);
    }
    public function Main() {
        #not Test on this.
    }
}
?>

У меня есть 3 вопроса:

Почему обработчик событий не фиксирует следующую ошибку?

Неустранимая ошибка: необработанная ошибка: попытка сбросить статическое свойство CORE :: $ ObjClass в C: \ xampp \ htdocs \ dev \ t2 \ class.Main.php: 8 Трассировка стека: # 0 [внутренняя функция]: CORE -> __ destruct ( ) # 1 {main} в C: \ xampp \ htdocs \ dev \ t2 \ class.Main.php в строке 8

Второй тест:

Этот код:

<?php
class CORE {
    public function __construct() {
    }
    public function __destruct() {
        prom();
    }
    public function Main() {
        #not Test on this.
    }
}
?>

Создайте эту ошибку:

Неустранимая ошибка: необработанная ошибка: вызов неопределенной функции prom () в C: \ xampp \ htdocs \ dev \ t2 \ class.Main.php: 6 Трассировка стека: # 0 [внутренняя функция]: CORE -> __ destruct () # 1 {main} добавлено в C: \ xampp \ htdocs \ dev \ t2 \ class.Main.php в строке 6

Обновить:

после большого теста я вижу, что обработчик ошибок работает нормально с ошибками в объявленной функции; но это не работа в__construct или же__destruct функция.

Ответы на вопрос(2)

Ваш ответ на вопрос