После ошибки Catch PHP / Apache продолжают выполнение - PullRequest
1 голос
/ 04 мая 2019

Привет, ребята, у меня есть эта ошибка обработчика:

.htaccess:

# Control de Errores
php_value auto_prepend_file "./server/conferror.php"
# Disable directory browsing 
Options -Indexes
# Hide the contents of directories
IndexIgnore *
# Hide files of type .png, .zip, .jpg, .gif and .doc from listing
IndexIgnore *.png *.zip *.jpg *.gif *.doc *.pdf *.txt *.jpeg
# Allow access to php files
<Files *.php>
    allow from all
</Files>

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);
register_shutdown_function("ShutdownHandler");
set_exception_handler("ExeptionHandler");
set_error_handler("ErrorHandler");
function ShutdownHandler() {
    $CheckError = error_get_last();
    if ($CheckError != null) {
        ob_clean();
        $File = $CheckError['file'];
        $Line = $CheckError['line'];
        $Desc = $CheckError['message'];
        echo 'ShutdownHandler:<br><b>Archivo:</b> ' . $File . '<br><b>Línea :</b> ' . $Line . '<br><b>Descripción:</b><br>' . $Desc . '<br>';
        exit();
    }
}
function ErrorHandler($error_level, $error_message, $error_file, $error_line, $error_context) {
    ob_clean();
    $File = $error_file;
    $Line = $error_line;
    $Desc = $error_message;
    echo 'ErrorHandler:<br><b>Archivo:</b> ' . $File . '<br><b>Línea :</b> ' . $Line . '<br><b>Descripción:</b><br>' . $Desc . '<br>';
    exit();
}
function ExeptionHandler($e) {
    ob_clean();
    $File = $e->getFile();
    $Line = $e->getLine();
    $Desc = $e->getMessage();
    echo 'ExeptionHandler:<br><b>Archivo:</b> ' . $File . '<br><b>Línea :</b> ' . $Line . '<br><b>Descripción:</b><br>' . $Desc . '<br>';
    exit();
}

если я поставлю и ошибка, как это foo() в начале моей логики приложения, эта работа корректно и остановка выполнения ...

enter image description here

но если я поставлю и Ошибка в конце моей заявкиЛогика, обработчик ошибок не очищает предыдущий вывод (HTML код и эхо).

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...