PHP - 错误处理函数


这些是处理错误处理和日志记录的函数。它们允许您定义自己的错误处理规则,以及修改记录错误的方式。这允许您更改和增强错误报告以满足您的需要。

使用这些日志记录功能,您可以将消息直接发送到其他计算机、电子邮件、系统日志等,以便您可以有选择地记录和监控应用程序和网站的最重要部分。

安装

error logging 函数是 PHP 核心的一部分。无需安装即可使用这些函数。

运行时配置

这些功能的行为受 php.ini 中的设置影响。这些设置定义如下。

Name 默认 可变 更改日志
error_reporting NULL PHP_INI_ALL  
display_errors "1" PHP_INI_ALL  
display_startup_errors "0" PHP_INI_ALL 自 PHP 4.0.3 起可用。
log_errors "0" PHP_INI_ALL  
log_errors_max_len "1024" PHP_INI_ALL 自 PHP 4.3.0 起可用。
ignore_repeated_errors "0" PHP_INI_ALL 自 PHP 4.3.0 起可用。
ignore_repeated_source "0" PHP_INI_ALL 自 PHP 4.3.0 起可用。
report_memleaks "1" PHP_INI_ALL 自 PHP 4.3.0 起可用。
track_errors "0" PHP_INI_ALL  
html_errors "1" PHP_INI_ALL PHP_INI_SYSTEM PHP <= 4.2.3.自 PHP 4.0.2 起可用。
docref_root "" PHP_INI_ALL 自 PHP 4.3.0 起可用。
docref_ext "" PHP_INI_ALL 自 PHP 4.3.2 起可用。
error_prepend_string NULL PHP_INI_ALL  
error_append_string NULL PHP_INI_ALL  
error_log NULL PHP_INI_ALL  
warn_plus_overloading NULL   从 PHP 4.0.0 开始,此选项不再可用

PHP 错误和日志记录常量

PHP: 表示支持常量的 PHP 的最早版本。

在配置 php.ini 文件时,可以使用任何常量。

常量 描述 php
1 E_ERROR 运行时致命的错误。无法恢复的错误。脚本的执行已停止  
2 E_WARNING 运行时非致命错误。脚本的执行未停止  
4 E_PARSE 编译时分析错误。解析错误应仅由解析器生成  
8 E_NOTICE 运行时通知。脚本发现了一些可能是错误的内容,但也可能在正常运行脚本时发生  
16 E_CORE_ERROR PHP 启动时出现致命错误。这就像 PHP 核心中的一个 E_ERROR 4
32 E_CORE_WARNING PHP 启动时出现非致命错误。这就像 PHP 核心中的一个 E_WARNING 4
64 E_COMPILE_ERROR 编译时致命错误。这类似于 Zend Scripting Engine 生成的 E_ERROR 4
128 E_COMPILE_WARNING 编译时非致命错误。这就像 Zend Scripting Engine 生成的 E_WARNING 4
256 E_USER_ERROR 用户生成的致命错误。这就像程序员使用 PHP 函数 trigger_error() 设置的 E_ERROR 4
512 E_USER_WARNING 用户生成的非致命警告。这就像程序员使用 PHP 函数 trigger_error() 设置的 E_WARNING 4
1024 E_USER_NOTICE 用户生成的通知。这就像程序员使用 PHP 函数 trigger_error() 设置的 E_NOTICE 4
2048 E_STRICT 运行时通知。PHP 建议对代码进行更改,以帮助代码的互操作性和兼容性 5
4096 E_RECOVERABLE_ERROR 可捕获的致命错误。这类似于 E_ERROR 但可以由用户定义的句柄捕获(另请参见 set_error_handler()) 5
8191 E_ALL 除级别 E_STRICT 之外的所有错误和警告 5

函数列表

PHP :表示支持该功能的 PHP 最早版本。

函数 描述 php
debug_backtrace() 生成回溯追踪 4
debug_print_backtrace() 打印回溯追踪 5
error_clear_last() 清除最近的错误 7
error_get_last() 获取上次发生的错误 5
error_log() 将错误发送到服务器 error-log、文件或远程目标 4
error_reporting() 指定要报告的错误 4
restore_error_handler() 还原以前的错误处理程序 4
restore_exception_handler() 恢复以前的异常处理程序 5
set_error_handler() 设置用户定义的函数以处理错误 4
set_exception_handler() 设置用户定义的函数以处理异常 5
trigger_error() 创建用户定义的错误消息 4
user_error() trigger_error() 的别名 4