这些是处理错误处理和日志记录的函数。它们允许您定义自己的错误处理规则,以及修改记录错误的方式。这允许您更改和增强错误报告以满足您的需要。
使用这些日志记录功能,您可以将消息直接发送到其他计算机、电子邮件、系统日志等,以便您可以有选择地记录和监控应用程序和网站的最重要部分。
安装
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 |