举例说明:
原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称.
代码如下:
if (!$num) {
$num=10;
}
在4.3.0中运行正常,在4.3.1中运行会提示 Notice:Undefined varialbe:num,意思就是没有定义变量
解决方案:
方法一:在php页面开头加一句:
error_reporting(E_ALL & ~E_NOTICE); //或者error_reporting(E_ALL ^ E_NOTICE);
方法二:修改php.ini 配置
error_reporting = E_ALL & ~E_NOTICE
error_reporting:设定PHP错误回报等级
语法 : int error_reporting ([int level])
参数:
E_ERROR : 预设上是列出错误,并且在函式传回之后终止程式的执行
E_WARNING : 预设上是列出警告,但是不中断程式的执行
E_PARSE : 剖析语法上的错误
E_NOTICE : 预设上是列出注意,并且指出程式冲突的地方
E_CORE_ERROR : 这象是E_ERROR,不同处在于它是由PHP的核心所产生的,函式将不会产生此型态的错误
E_CORE_WARNING : 这象是E_WARNING,不同处在于它是由PHP的核心所产生的,函式将不会产生此型态的错误
error_reporting使用方法:
- error_reporting(0); //禁用错误报告
- error_reporting(E_ALL ^ E_NOTICE); //显示除去 E_NOTICE 之外的所有错误信息
- error_reporting(E_ERROR | E_WARNING | E_PARSE);//显示运行时错误
- error_reporting(E_ALL); //显示所有错误