php的报错级别有哪些?-PHP问题

资源魔 31 0
上面本篇文章就来给各人引见一下php报错级别。有肯定的参考代价,有需求的冤家能够参考一下,心愿对各人有所协助。

error_reporting()

用于设置 PHP 的报错级别并前往以后级别。(PHP 4, PHP 5)

函数可以正在运转时设置 error_reporting 指令。

PHP 有诸多谬误级别,应用该函数能够设置正在剧本运转时的级别。

假如不设置可选参数 level, error_reporting() 仅会前往以后的谬误陈诉级别。

参数level

新的 error_reporting 级别。 能够是一个位掩码也能够是一个已定名的常量。

倡议应用已定名的常量,以确保兼容未来的版本。 因为谬误级此外增加、整数取值范畴的添加,

较久的基于整数的谬误级别没有会老是以及预期的体现分歧。

level 可能的值(php中的报错级别)

常见:统共大略15个

1.png

15个正好对应二进制的15位。

需求留意的是, 上述表中的字段, 没有是原封不动的, 没有同的PHP版本, 值可能会没有同, 具体的请参考 php预约义常量

恣意数量的以上选项均可以用“或”来衔接(用 OR 或 |),这样能够陈诉一切需求的各级别谬误。

例如,上面的代码封闭了用户自界说的谬误以及正告,执行了某些操作,而后规复到原始的报错级别:

例:

<?php
     error_reporting(0);                //禁用谬误陈诉
     error_reporting(E_ERROR | E_WARNING | E_PARSE);//陈诉运转时谬误
     error_reporting(E_ALL);            //陈诉一切谬误
     error_reporting(E_ALL ^ E_NOTICE); //除了E_NOTICE陈诉一切谬误,是正在php.ini的默许设置
     error_reporting(-1);               //陈诉一切 PHP 谬误
     error_reporting(3);                //没有报E_NOTICE
     error_reporting(11);               //陈诉一切谬误
     ini_set('error_reporting', E_ALL); // 以及 error_reporting(E_ALL); 同样
     error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//示意php谬误,正告,语法谬误,提示都返错。
?>

换算关系:

E_All: 十进制为30719,换成二进制为 111011111111111

E_NOTICE:十进制为8,换成二进制为 1000

~E_NOTICE:对E_NOTICE进行取反操作, 变为0111

E_ALL & ~E_NOTICE::E_ALL以及 ~E_NOTICE进行与操作,变为111011111110111,化成十进制就是30711

能够看到E_ALL并非显示了一切的谬误,第12位为0, 这一名的权重为2的11次方, 为2048,其实就是E_STRICT的值,以是E_ALL是显示除了E_STRICT的一切谬误级别。

E_ALL & ~E_NOTICE 的二进制能够看出,从右至左,第4位以及第12位为0,第4位的权重为2的3次方,为8,就是E_NOTICE的值,以是是显示除了了E_STRICT以及E_NOTICE的一切谬误。

更多相干常识,请存眷 PHP中文网!!

以上就是php的报错级别有哪些?的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 php故障解决 php使用问题

抱歉,评论功能暂时关闭!