网站错误的结果
- E_ALL 所有的错误
- E_ERROR 致命的运行错误(程序不能运行错误)
- E_WARNING 警告级别的错误(程序还能继续执行)
- E_NOTICE 提示级别的错误
- E_STRICT 编码标准化警告
- E_CORE_ERROR PHP启动时初始化过程错误
- E_CORE_WARNING PHP启动时初始化过程中的警告
- E_COMPILE_ERROR 编译时致命错误
- E_COMPILE_WARNING 编译时的警告错误
- E_USER_ERROR 用户自定义的致命错误
- E_USER_WARNING 用户自定义的警告错误
- E_USER_NOTICE 用户自定义的提示
错误选项
- 使用错误抑制符@,只能屏蔽单行的错误而且效率低
- 修改php.ini配置文件中display_errors选项,设置on显示错误,设置为off为不显示错误.
- 修改php配置文件中的error_reporting选项,可以定义任意类型的错误输出或者不输出
- 使用error_reporting()函数,可以和配置文件中的error_reporting选项实现相同效果,设置的值也是一样
- 例子:error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING)
让该看到的人看到错误
- 第一步:关闭配置文件中display_errors设置为off
- 第二步:设置存储错误的类型,设置配置文件中error_reporting选项,指定需要存储的错误类型
- 第三步:开启错误日志记录开关, 设置log_errors=on
- 第四步:设置错误日志记录的地点
- error_log=syslog 记录错误到系统日志中
自定义处理错误的方式
set_error_handker();设置一个用户自定义的错误处理函数
参数1:传入一个回调函数
参数2:可选参数,设置错误的类型
<?php set_error_handler('myError'); //使用函数控制错误的输出或者不输出 echo $name; mysqli_connect('localhost','root','daxiong'); function myError($error_no,$error_str,$error_file,$error_line){ echo '当前的错误号:'.$error_no.'<br/>当前错误内容:'.$error_str.'<br/>当前错误的错误文件在:'.$error_file.'<br/>当前错误的行:'.$error_line; }