Подтвердить что ты не робот

Как я могу отобразить (эхо/печать) установленный в настоящее время уровень отчетности об ошибках в PHP?

Я работаю над довольно большим проектом (несколько команд), поэтому у меня нет полного контроля над кодом. К сожалению, error_reporting во многих местах изменяется во всем коде. Когда я доберусь до определенной точки в коде, я хочу посмотреть, что в настоящее время настроено сообщение об ошибках. Есть ли способ выполнить это?

4b9b3361

Ответ 1

http://www.php.net/error_reporting

int error_reporting ([ int $level ] )

Возвращает старый уровень error_reporting или текущий уровень, если ни один уровень параметр задан.

Вы также можете использовать примеры, предоставленные ссылкой, чтобы передать уровень (который возвращается как целое) в строку. Например:

function error_level_tostring($intval, $separator = ',')
{
    $errorlevels = array(
        E_ALL => 'E_ALL',
        E_USER_DEPRECATED => 'E_USER_DEPRECATED',
        E_DEPRECATED => 'E_DEPRECATED',
        E_RECOVERABLE_ERROR => 'E_RECOVERABLE_ERROR',
        E_STRICT => 'E_STRICT',
        E_USER_NOTICE => 'E_USER_NOTICE',
        E_USER_WARNING => 'E_USER_WARNING',
        E_USER_ERROR => 'E_USER_ERROR',
        E_COMPILE_WARNING => 'E_COMPILE_WARNING',
        E_COMPILE_ERROR => 'E_COMPILE_ERROR',
        E_CORE_WARNING => 'E_CORE_WARNING',
        E_CORE_ERROR => 'E_CORE_ERROR',
        E_NOTICE => 'E_NOTICE',
        E_PARSE => 'E_PARSE',
        E_WARNING => 'E_WARNING',
        E_ERROR => 'E_ERROR');
    $result = '';
    foreach($errorlevels as $number => $name)
    {
        if (($intval & $number) == $number) {
            $result .= ($result != '' ? $separator : '').$name; }
    }
    return $result;
}

используйте его как echo error_level_tostring(error_reporting(), ',');