Я работаю над довольно большим проектом (несколько команд), поэтому у меня нет полного контроля над кодом. К сожалению, error_reporting во многих местах изменяется во всем коде. Когда я доберусь до определенной точки в коде, я хочу посмотреть, что в настоящее время настроено сообщение об ошибках. Есть ли способ выполнить это?
Как я могу отобразить (эхо/печать) установленный в настоящее время уровень отчетности об ошибках в PHP?
Ответ 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(), ',');
Ответ 2
Используйте error_reporting()
без параметров. Он вернет текущий уровень ошибок.