PHP配置文件中与错误相关选项
1.error_reporting 设置错误报告级别
2.display_errors 是否显示错误
3.log_errors 设置是否将错误信息记录到日志或者error_log中
4.error_log 设置脚本错误将记录到的文件
5.log_errors_max_len 设置log_errors的最大字节数
6.ignore_repeated_errors 是否忽略重复的错误信息
7.ignore_repeated_source 是否忽略重复错误消息的来源
8.track_errors 如果开启此选项,最后一个错误将永远保存在$php_errormsg中
PHP中的错误级别
1.E_ERROR 致命的运行错误,将终止程序执行
2.E_WARNING 运行时警告
3.E_PARSE 语法解析错误
4.E_NOTICE 通知注意,表示可能表现为错误的情况
5.E_CORE_ERROR 在PHP初始化启动过程中发生的警告
6.E_CORE_WARNING PHP初始化启动过程中发生的警告
7.E_COMPILE_ERROR 致命编译错误
8.E_COMPILE_WARNGING 编译时警告
9.E_USER_EORROR 用户产生的错误信息,类似E_ERROR,但是是由用户自己在代码中使用trigger_error()函数产生的。
10.U_USER_WARNING 用户产生的警告信息,类似E_WARNING,但是是由用户自己在代码中使用trigger_error()函数产生的
11.E_USER_NOTICE 用户产生的通知信息,类似E_NOTICE,但是是由用户自己在代码中使用trigger_error()函数产生的
12.E_STRICT 启动PHP对代码的修改建议,以确保代码具有最佳的互操作性和向前的兼容性。
13.E_DEPRECATED 运行时通知,启动后将会对在未来版本中可能无法正常工作的代码给出警告。
14.E_USER_DEPRECATED 用户产生的警告信息,类似E_DEPRECATED,但是是通过trigger_error()函数产生的
15.E_ALL 所有错误和警告信息
16.E_RECOVERABLE_ERROR 可被捕获的指明错误,它表示发生了一个可能非常危险的错误,但是还没有导致PHP引擎处于不稳定的状态。如果该错误没有被用户自定义句柄捕获(参见set_error_handler()),将成为一个E_ERROR从而脚本会终止运行
PHP错误处理函数
- debug_backtrace — 产生一条回溯跟踪(backtrace)
- debug_print_backtrace — 打印一条回溯。
- error_clear_last — 清除最近一次错误
- error_get_last — 获取最后发生的错误
- error_log — 发送错误信息到某个地方
- error_reporting — 设置应该报告何种 PHP 错误
- restore_error_handler — 还原之前的错误处理函数
- restore_exception_handler — 恢复之前定义过的异常处理函数。
- set_error_handler — 设置用户自定义的错误处理函数
- set_exception_handler — 设置用户自定义的异常处理函数
- trigger_error — 产生一个用户级别的 error/warning/notice 信息
- user_error — trigger_error 的别名