如何在PHP中显示(回显/打印)当前设置的错误报告级别?

时间:2012-02-06 21:30:15

标签: php error-reporting

我正在开展一个相当大的项目(多个团队),所以我无法完全控制代码。不幸的是,error_reporting在整个代码中的许多地方都发生了变化。当我到达代码中的某个点时,我想看看当前设置的错误报告。无论如何要实现这个目标吗?

2 个答案:

答案 0 :(得分:40)

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(), ',');

答案 1 :(得分:7)

使用没有参数的error_reporting()。它将返回当前的错误级别。

http://php.net/manual/en/function.error-reporting.php