PHP Error and Logging Functions

Panimula ng PHP Error

Ang Error at Logging function ay nagbibigay ng kapangyarihan sa iyo na magtanggap at tatala ng error.

Ang Error function ay nagbibigay ng kapangyarihan sa user na tukuyin ang alituntunin ng pagtanggap ng error at baguhin ang paraan ng pagtatala ng error.

Ang logging function ay nagbibigay ng kapangyarihan sa user na magsalita ng log sa application at ipagsalita ang mga log message sa emeyl, system log o ibang machine.

Ang error function ay ginagamit para sa pagtanggap at pagtatala ng error.

Ang error function ay nagbibigay ng kapangyarihan sa amin na tukuyin ang sariling alituntunin ng pagtanggap ng error at baguhin ang paraan ng pagtatala ng error.

Ang logging function ay nagbibigay ng kapangyarihan sa amin na ipagsalita ang mensahe direktang sa ibang machine, emeyl o system log.

Ang error reporting function ay nagbibigay ng kapangyarihan sa amin na mapili ang uri at antas ng error.

Pag-install

Ang PHP error function ay bahagi ng PHP core. Hindi kailangan ng pag-install para gamitin ang mga function na ito.

Konfigurasyon ng Runtime

Ang pagbabahagi ng error function ay nakakaapekto ng mga setting sa php.ini.

Ang opsyon ng Errors at Logging ay tulad ng sumusunod:

Pangalan Default na halaga Paglalarawan Maaari baguhin ang saklaw
error_reporting NULL Itakda ang antas ng pag-ulat ng error (integer o pangalan ng kalimitang ginamit) PHP_INI_ALL
display_errors "1"

Tinuturing kung ipapakita ang mga error bilang output sa screen o itago sa user.

Babala:Ang katangian na ito ay hindi dapat gamitin sa mga sistema ng produksyon (suportado lamang sa paggawa)

PHP_INI_ALL
display_startup_errors "0"

Kahit na ang display_errors ay itinakda na on, ang mga error na nangyayari sa proseso ng paglunsad ng PHP ay hindi ipapakita.

Komento: Matindi na ito ay inaanyayahan na itakda ang display_startup_errors na off maliban sa layuning sa debugging.

PHP_INI_ALL
log_errors "0"

Itakda kung ibibigay ang mga error na nangyayari sa script sa server error log o sa error_log.

Komento: Ito ay isang espesyal na konfigurasyon na may kaugnayan sa server.

Komento: Matindi na ito ay inaanyayahan sa mga sistema ng produksyon na gamitin ang pagtatala ng error log para sa mga error na ipinapakita sa web site.

PHP_INI_ALL
log_errors_max_len "1024"

Itakda ang pinakamataas na baytes ng log_errors. Ang error_log ay magdagdag ng impormasyon tungkol sa pinanggalingan ng error.

Ang default na halaga ay 1024, kapag ito ay itinakda na 0 ay walang limitasyon sa haba.

Ang setting na ito ay may limitasyon sa pagtatala ng mga error, ang ipinapakita na mga error, at ang $php_errormsg.

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

函数 Paglalarawan
debug_backtrace() 生成 backtrace。
debug_print_backtrace() 打印 backtrace。
error_get_last() 返回最后发生的错误。
error_log() 向服务器错误记录、文件或远程目标发送错误消息。
error_reporting() 规定报告哪个错误。
restore_error_handler() 恢复之前的错误处理程序。
restore_exception_handler() Ibubalik ang naunang exception handler.
set_error_handler() Itatago ang custom na function ng pagtanggap ng error.
set_exception_handler() Itatago ang custom na function ng pagtanggap ng exception.
trigger_error() Lumikha ng mensahe ng error na pang-user.
user_error() Alias ng trigger_error()

Predefinidong error at log constant ng PHP 5

Halaga Constant Paglalarawan
1 E_ERROR Mga kritikal na error sa panahon ng pagpatakbo. Hindi mapapagayos na error. Titigil ang pagpatakbo ng script.
2 E_WARNING Mga hindi mapapansin na error sa panahon ng pagpatakbo. Hindi titigil ang pagpatakbo ng script.
4 E_PARSE Mga error sa pagsasalita ng kompilasyon. Ang mga error na ito ay ginawa lamang ng analyzer.
8 E_NOTICE Mga notis sa panahon ng pagpatakbo. Nagpapahiwatig na ang script ay nahaharap sa isang sitwasyon na maaring magiging error, ngunit maaaring may katulad na notis din sa normal na tumatakbo na script.
16 E_CORE_ERROR Mga kritikal na error sa panahon ng pagsisimula ng PHP. Ang error na ito ay katulad ng E_ERROR, ngunit ginawa ng core ng PHP engine.
32 E_CORE_WARNING Babala sa panahon ng pagsisimula ng PHP (hindi mapapansin na error). Katulad ng E_WARNING, ngunit ginawa ng core ng PHP engine.
64 E_COMPILE_ERROR Mga kritikal na error sa panahon ng kompilasyon. Katulad ng E_ERROR, ngunit ginawa ng Zend script engine.
128 E_COMPILE_WARNING Babala sa panahon ng kompilasyon (hindi mapapansin na error). Katulad ng E_WARNING, ngunit ginawa ng Zend script engine.
256 E_USER_ERROR Mga mensahe ng error na ginawa ng user. Katulad ng E_ERROR, ngunit ginawa ng user sa pamamagitan ng paggamit ng PHP function trigger_error().
512 E_USER_WARNING Mga babala na ginawa ng user. Katulad ng E_WARNING, ngunit ginawa ng user sa pamamagitan ng paggamit ng PHP function trigger_error().
1024 E_USER_NOTICE Mga notis na ginawa ng user. Katulad ng E_NOTICE, ngunit ginawa ng user sa pamamagitan ng paggamit ng PHP function trigger_error().
2048 E_STRICT Nagpalakad ng pagbabago sa PHP para sa mungkahi ng code upang matiyak na ang code ay may pinakamahusay na pagtutulungan at pagpapatuloy na pagkakasunod-sunod.
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 除非的所有错误和警告信息。