PHP Notice: Undefined variable
PHP Notice: Undefined index
看看吧,你有没定义的变量直接使用了。不过编PHP的时候本来就不像C++那么严格,编程的时候经常还会利用这个特点。PHP的默认设置是显示这些提示,这会造成页面无法正常显示出来。
代码如下 | 复制代码 |
//error_reporting(E_ALL); |
第一个是代表显示所有错误,
第二个代表显示所有错误不显示警告,
我们只要把第二行前面加//,把第一行前面的//去掉即可。
附:各个错误报告详解
使用方法:
代码如下 | 复制代码 |
error_reporting(0);//禁用错误报告 |
实例
代码如下 | 复制代码 |
if (!$a) { |
在php.ini中禁止修改方法
1、由空间商在服务器中的php.ini的配置文件修改:
在php.ini文件中改动error_reporting
改为:
代码如下 | 复制代码 |
error_reporting = E_ALL & ~E_NOTICE |
如果你是固得美国空间用户,不能操作php.ini文件,你可以用下面的方法来实现
2.在你想禁止notice错误提示的页面中加入下面的代码
代码如下 | 复制代码 |
/* Report all errors except E_NOTICE */ |
注意一点的是
关闭掉PHP错误输出并不会关闭php内核对错误的处理,代码中如果有大量的Notice级别的错误,还是会降低php程序的性能。所以我们在开发的时候还是要将错误级别开至E_ALL,谨慎的处理掉每处不合理的代码
*****************************************************************
正确的例子
<?php
//error_reporting(E_ALL&~E_NOTICE);
$start=getMicrotime();
echo $start.'<br/>';
$var=1;
for($i=0;$i<10000000;$i++){
$foo=$var;
}
function getMicrotime(){
list($usec,$sec) = explode(" ",microtime());
return (float)$usec + (float)$sec;
}
$end = getMicrotime();
echo $end.'<br/>';
echo ($end - $start);
?>
输出:1381589139.2656
1381589140.1719
0.90625
屏蔽了E_NOTICE后
<?php
error_reporting(E_ALL&~E_NOTICE);
$start=getMicrotime();
echo $start.'<br/>';
//$var=1;
for($i=0;$i<10000000;$i++){
$foo=$var;
}
function getMicrotime(){
list($usec,$sec) = explode(" ",microtime());
return (float)$usec + (float)$sec;
}
$end = getMicrotime();
echo $end.'<br/>';
echo ($end - $start);
?>
输出:
1381589324.3281
1381589338.6094
14.28125
两都性能相差14之多。