首先,PHP主要有以下3种错误类型
1.注意(Notices)
这些都是比较小而且不严重的错误,比如去访问一个未定义的变量。通常,这类错位是不会提示个用户的,但有时这些会影响到运行的结果。
2.警告(Warnings)
这是稍微严重一些的错误,比如想用include()包含一个本身不存在的文件,这样的错误信息会提示给用户,但不会导致程序终止运行。
3.致命错误(Fatal errors)
这些就是严重的错误,比如你想要初始化一个根本不存在的类的对象,或调用一个不存的函数,这类错误会导致程序停止运行,php也会把这些错误展现给用户。
其次,有以下不同的错误种类
E_ERROR:通常会显示出来,也会终端程序执行
E_WARNING:通常都会显示出来,但不会中断程序的执行。
E_NOTICE:在脚本正常运行下发生的代码错误。
E_PARSE:语法解析错误。
E_CORE_ERROR:在PHP启动时发生的致命错误。
E_CORE_WARNING:报告在PHP启动时发生的非致命性错误。
E_COMPILE_ERROR:编译时发生的致命错误,指出脚本的错误。
E_USER_ERROR:用户产生的错误信息。
E_USER_WARNING:用户产生的警告信息。
E_USER_NOTICE:用户引发的注意消息。
E_STRICT:编码标准化警告,运行时发生的错误。
E_RECOVERABLE_ERROR:接近致命的运行时错误,若未被捕获则视同E_ERROR。
E_ALL:捕获所有的错误和警告。
最后是屏蔽PHP错误提示
一、在有可能出错的函数前加@,然后or die("")
如:@mysql_connect(..) or die("XXXX")
二、编辑php.ini,查找"display_errors =",将“=”后面的值改为“off”.
三、在php脚本前加error_reporting(0),屏蔽所有错误提示
其中,error_reporting配置错误信息回报的等级。