PHP Error and Logging Functions

PHP Error 简介

Error 和 Logging 函数允许您对错误进行处理和记录。

Error 函数允许用户定义错误处理规则,并修改记录错误的方式。

Logging 函数允许用户对应用程序进行日志记录,并把日志消息发送到电子邮件、系统日志或其他的机器。

error 函数用于完成错误处理和日志记录。

error 函数允许我们定义自己的错误处理规则,并修改错误记录方式。

logging 函数允许我们将消息直接发送到其他机器、电邮或系统日志。

error reporting 函数允许我们错误的类型和层级。

安装

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

Runtime 配置

error 函数的行为受到 php.ini 中设置的影响。

Errors 和 logging 配置选项如下:

名称 默认值 Ba da tasiri 可修改范围
error_reporting NULL 设置错误报告级别(整数或命名常量) PHP_INI_ALL
display_errors "1"

规定是否将错误作为输出输出到屏幕,或者对用户隐藏。

注意:该特性不应在生产系统上使用(仅支持开发)

PHP_INI_ALL
display_startup_errors "0"

即使 display_errors 设置为开启, PHP 启动过程中的错误信息也不会被显示。

注释:强烈建议除了调试目的以外,将 display_startup_errors 设置为关闭。

PHP_INI_ALL
log_errors "0"

设置是否将脚本运行的错误信息记录到服务器错误日志或者 error_log 之中。

注释:这是与服务器相关的特定配置项。

注释:在生产系统中,强烈建议你使用错误日志记录web站点上显示的错误信息。

PHP_INI_ALL
log_errors_max_len "1024"

设置 log_errors 的最大字节数。在 error_log 会添加有关错误源的信息。

Dake ce dake ce 1024, kuma tana dake ce 0 zai nuna dake ce.

Tun dake ce ta dake da yau, da yau da yau da yau, da yau da yau da yau dake da yau.

PHP_INI_ALL
ignore_repeated_errors "0"

规定是否记录重复的错误信息。

重复的错误必须出现在同一个文件中的同一行代码上,除非 ignore_repeated_source 设置为 true。

PHP_INI_ALL
ignore_repeated_source "0"

规定是否记录重复的错误信息。忽略重复消息时,也忽略消息的来源。

当该设置开启时,重复信息将不会记录它是由不同的文件还是不同的源代码行产生的。

PHP_INI_ALL
report_memleaks "1" 如果该参数被设置为 On(默认),则会显示由 Zend 内存管理器侦测到的内存泄露报告。 PHP_INI_ALL
track_errors "0" 如果开启,最后一个错误将永远存在于变量 $php_errormsg 中。 PHP_INI_ALL
html_errors "1" 在错误信息中关闭 HTML 标签。
  • PHP_INI_ALL
  • PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" 如果启用,则关闭正常的错误报告,并将错误的格式设置为 XML-RPC 错误信息的格式。 PHP_INI_SYSTEM
xmlrpc_error_number "0" 用作 XML-RPC faultCode 元素的值。 PHP_INI_ALL
docref_root "" (available since PHP 4.3) PHP_INI_ALL
docref_ext "" (available since PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL 规定错误信息之前输出的字符串。 PHP_INI_ALL
error_append_string NULL 规定错误信息之后输出的字符串。 PHP_INI_ALL
error_log NULL

设置脚本错误将被记录到的文件。该文件必须是 web 服务器用户可写的。

如果使用了特殊值 syslog,则将错误信息发送到系统日志记录器。

PHP_INI_ALL

PHP Error and Logging Functions

函数 Ba da tasiri
debug_backtrace() 生成 backtrace。
debug_print_backtrace() 打印 backtrace。
error_get_last() 返回最后发生的错误。
error_log() 向服务器错误记录、文件或远程目标发送错误消息。
error_reporting() 规定报告哪个错误。
restore_error_handler() 恢复之前的错误处理程序。
restore_exception_handler() 恢复之前的异常处理程序。
set_error_handler() 设置用户自定义的错误处理函数。
set_exception_handler() 设置用户自定义的异常处理函数。
trigger_error() A cikin wuri na ra'ayi na user.
user_error() An gudanar da sunan funakun trigger_error().

Daga cikin PHP 5 na tsarin ra'ayi da takarda da zane zane

Wurin Tsarin Ba da tasiri
1 E_ERROR Tsafta da aiki a lokacin saukar da aiki. Tsafta na iya zama ne da aiki da yana iya yin ra'ayi, amma yana iya da aiki da wuri.
2 E_WARNING Tsafta da aiki a lokacin saukar da aiki. Tsafta na iya zama ne da aiki da yana iya yin ra'ayi, amma yana iya da aiki da wuri.
4 E_PARSE Tsafta da aiki a lokacin saukar da PHP. Tsafta na iya zama ne da aiki da analyser.
8 E_NOTICE Tsafta a lokacin saukar da aiki. Nuna cewa script yana samu wuri da zai iya zama ra'ayi, amma ana iya da aiki da wuri a cikin script da yana aiki.
16 E_CORE_ERROR Daga cikin E_ERROR, amma ana samun ta ne da aiki da PHP engine core.
32 E_CORE_WARNING Tsafta da aiki a lokacin saukar da PHP. Daga cikin E_WARNING, amma ana samun ta ne da aiki da PHP engine core.
64 E_COMPILE_ERROR Daga cikin E_ERROR, amma ana samun ta ne da aiki da Zend script engine.
128 E_COMPILE_WARNING Tsafta da aiki a lokacin saukar da PHP. Daga cikin E_WARNING, amma ana samun ta ne da aiki da Zend script engine.
256 E_USER_ERROR Rarrabawa takarda da aiki da zane zane. Daga cikin E_ERROR, amma ana samun ta ne da aiki da PHP funakun trigger_error() a cikin koda.
512 E_USER_WARNING Rarrabawa takarda da aiki da zane zane. Daga cikin E_WARNING, amma ana samun ta ne da aiki da PHP funakun trigger_error() a cikin koda.
1024 E_USER_NOTICE Rarrabawa takarda da aiki da zane zane. Daga cikin E_NOTICE, amma ana samun ta ne da aiki da PHP funakun trigger_error() a cikin koda.
2048 E_STRICT Ayarza PHP ke gajiwa koda ka tsafta, domin koda yuwar da gudanarwa da kuma yin hauwa da kewayawa.
4096 E_RECOVERABLE_ERROR خطأ قابلة للقبض. إنه يعني أن حدث خطأ خطير قد يحدث، ولكن لم يصل إلى حالة عدم استقرار في محرك PHP. إذا لم يتم القبض على هذا الخطأ من قبل معالج الخطأ المخصص للمستخدم (انظر set_error_handler())، فإنه سيصبح E_ERROR وسيؤدي إلى إنهاء تشغيل السكربت.
8192 E_DEPRECATED تحذیرات عند التشغيل. عند تشغيلها، سيتم إعطاء تحذیرات للكود الذى قد لا يعمل بشكل صحيح في إصدارات المستقبل.
16384 E_USER_DEPRECATED رسائل التحذیر المولدة من المستخدم. مشابهة E_DEPRECATED، ولكن يتم إنتاجها من قبل المستخدم نفسه في الكود باستخدام فونکشن PHP trigger_error().
32767 E_ALL E_STRICT غیر از همه خطا و رسائل التحذیر.