php之错误级别设置

error_reporting

error_reporting(0);将禁止显所有错误

  • 设置错误报告的级别。该参数可以是一个任意的表示二进制位字段的整数,或者常数名称。错误级别和常数是在预定义常量定义的,在php.ini之中也有专门的说明。在程序运行时,还可以通过error_reporting() 函数进行设置。

    在PHP 4和PHP 5之中,其默认值为 E_ALL & ~E_NOTICE。 该设置表示除了 E_NOTICE 其他都显示的错误级别。在开发过程中很有必要显示它们。

  • 在PHP 5之中,提供了一个新的错误级别 E_STRICT。 因为 E_STRICT 并不包含在 E_ALL 之中,你必须明确启用才能显示这个类别的错误信息。在开发阶段启用 E_STRICT 会有一些好处。严格的信息将帮助你使用最新和最好的建议的方法来编写代码,例如它会警告你使用了将被废弃的函数。

  • 在 PHP 以外使用PHP的常量是没有意义的,例如在httpd.conf之中, 你需要使用常量对应的integer 值来取代。因为随着时间的推移和PHP的发展,会有更多的错误级别将被添加,因此错误级别的最大值(为 E_ALL)可能会改变 。因此在使用 E_ALL 对应整数值的地方,应该考虑使用较大的数值来涵盖当前和将来需要使用的二进制位字段,例如数值 2147483647 (将包含所有错误,而不仅仅是 E_ALL).

常量和数值对应关系:

function FriendlyErrorType($type)
    {
        switch($type)
            {
            case E_ERROR: // 1 //
                return 'E_ERROR';
            case E_WARNING: // 2 //
                return 'E_WARNING';
            case E_PARSE: // 4 //
                return 'E_PARSE';
            case E_NOTICE: // 8 //
                return 'E_NOTICE';
            case E_CORE_ERROR: // 16 //
                return 'E_CORE_ERROR';
            case E_CORE_WARNING: // 32 //
                return 'E_CORE_WARNING';
            case E_CORE_ERROR: // 64 //
                return 'E_COMPILE_ERROR';
            case E_CORE_WARNING: // 128 //
                return 'E_COMPILE_WARNING';
            case E_USER_ERROR: // 256 //
                return 'E_USER_ERROR';
            case E_USER_WARNING: // 512 //
                return 'E_USER_WARNING';
            case E_USER_NOTICE: // 1024 //
                return 'E_USER_NOTICE';
            case E_STRICT: // 2048 //
                return 'E_STRICT';
            case E_RECOVERABLE_ERROR: // 4096 //
                return 'E_RECOVERABLE_ERROR';
            case E_DEPRECATED: // 8192 //
                return 'E_DEPRECATED';
            case E_USER_DEPRECATED: // 16384 //
                return 'E_USER_DEPRECATED';
            }
        return $type;
    }

你可能感兴趣的:(PHP,错误级别)