PHP Error နှင့် Logging အကြမ်း

PHP Error 简介

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

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

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

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

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

logging အုပ်ချုပ်ခြင်း ကို အမှား အချက် ကို အခြား ကွန်ပျူတာ သို့မဟုတ် အီးလိုင်း သို့ သို့မဟုတ် အုပ်ချုပ်ခြင်း အစား သွင်းပါ။

error reporting အုပ်ချုပ်ခြင်း ကို အမှား အမျိုးအစား နှင့် အဆင့် ကို အသုံးပြုခြင်း ခွင့်ပြုပါ။

အဆွောက်အဖက်

PHP error အုပ်ချုပ်ခြင်း ကို PHP အရာဝတ္ထု တစ်ခုအား ပါဝင်သည်။ အသုံးပြုခြင်း အတွက် အဆွောက်အဖက် မပြင်ဆင်ရပါ။

အခြေအနေ အစား အသား

error အုပ်ချုပ်ခြင်း ကို php.ini တွင် အစားအသား အချက် အချင်းချင်း အကူအညီပေးသည်။

Errors နှင့် logging အချက်အလက် အောက်ပါအတိုင်း ဖော်ပြပါသည်:

အမည် မျိုးချက် အချက် 描述 ပြင်ဆင် နိုင်သော နိုင်ငံ
error_reporting NULL အမှား အစားအသား အချက် အစား အုပ်ချုပ်ပါ။ PHP_INI_ALL
display_errors html_errors

အမှား ကို ပြသခြင်း သို့မဟုတ် အသုံးပြုခြင်း အလိုက် အမှား ကို ပြသပါ။

ဖော်ပြချက်:ဒီ အခြေအနေ ကို ပုံနှိပ်ချက် အုပ်ချုပ်ပြီး ဝတ္ထုကြီး ပုံနှိပ်ချက် အား အမှား အသုံးပြုခြင်း ကို သုံးစွဲပါ။

PHP_INI_ALL
display_startup_errors xmlrpc_error_number

display_errors အချက် ကို ဖွင့်ပေးခဲ့ရှိသော်လည်း၊ PHP စတင်ခြင်း အမှား အချက် ကို ပြသခြင်း မပြုလိမ့်ပါ။

ဖော်ပြချက်: ပြုပြင်ခြင်း အတွက် အခြား သုံးစွဲခြင်း အပြင် ဒီ display_startup_errors အချက် ကို အဆိုပါ အသုံးပြုပါ။

PHP_INI_ALL
log_errors xmlrpc_error_number

အမှား အချက် ကို အခြား မှတ်ချက် အုပ်ချုပ်ခြင်း အလိုက် အမှား အချက် ကို အင်တာနက် အမှား အုပ်ချုပ်ခြင်း သို့မဟုတ် error_log အတွက် အသုံးပြုပါ။

ဖော်ပြချက်: အင်တာနက် စီမံကိန်း နှင့် ပတ်သက်သော အသုံးချက် ဖြစ်သည်။

ဖော်ပြချက်: ပုံနှိပ်ချက် အုပ်ချုပ်ပြီး ဝတ္ထုကြီး ပုံနှိပ်ချက် အား အမှား အသုံးပြုခြင်း ကို သုံးစွဲပါ။

PHP_INI_ALL
log_errors_max_len 1024

log_errors တွင် အမှား အရင်းအမြစ် သတင်းများ ထည့်သွင်းခြင်း အကွာအဝေး အချက် အစား အုပ်ချုပ်ပါ။

မျိုးချက် အချက် 1024 ဖြစ်သည်၊ 0 အထိမ်းအား အကွာအဝေး အလိုက် မပြောင်းလဲပါ။

ဒီ အကွာအဝေး စစ်ဆေးခြင်း ကို မှတ်ချက်ထားသော အမှား၊ ပြုပြင်ထားသော အမှား နှင့် $php_errormsg တို့သည် အကွာအဝေးအား ခံနိုင်သည်။

PHP_INI_ALL
ignore_repeated_errors xmlrpc_error_number

ignore_repeated_errors

ပြန်လည်ဖော်ထုတ်ထားသော အချက်အလက် ကို အချက်အလက် အပေါ် အချက်အလက် ကို ပြန်လည်ပေးသည်。

PHP_INI_ALL
ignore_repeated_errors xmlrpc_error_number

ပြန်လည်ဖော်ထုတ်ထားသော အချက်အလက် ကို အချက်အလက် အပေါ် အချက်အလက် ကို ပြန်လည်ပေးသည်。

ignore_repeated_source

PHP_INI_ALL
အလိုက်လျှင် ဖွင့်ထားသော အခါ ပြန်လည်ဖော်ထုတ်ထားသော အချက်အလက် ကို အချက်အလက် အပေါ် အချက်အလက် ကို ပြန်လည်ပေးသည်。 html_errors report_memleaks PHP_INI_ALL
အလိုက်လျှင် အသုံးပြုထားသော အခါ အမှား အချက်အလက် ကို ကြေညာထားသော အချက်အလက် ကို ပြန်လည်ပေးသည်。 xmlrpc_error_number track_errors PHP_INI_ALL
အလိုက်လျှင် ဖွင့်ထားသော အခါ နောက်ဆုံး အမှား ကို အလုံးအကျီ ပါဝင်သော $php_errormsg အမှတ် အပေါ် ပါဝင်သည်。 html_errors "1"
  • PHP_INI_ALL
  • အမှား အချက်အလက် အချက်အလက် အပေါ် HTML အချက်အလက် ကို ပိတ်ပင်ပေးသည်。
PHP_INI_SYSTEM in PHP <= 4.2.3. xmlrpc_error_number xmlrpc_errors အလိုက်လျှင် အမှား ဖြည့်ဖျက် ပြင်ဆင်မှု ကို ပိတ်ပင်ပေးသည် နှင့် အမှား အချက်အလက် အပေါ် ပြင်ဆင်မှု ကို XML-RPC အမှား အချက်အလက် အပေါ် ပြင်ဆင်မှု အပေါ် ပြင်ဆင်မှု ကို ပြင်ဆင်ပေးသည်。
PHP_INI_SYSTEM xmlrpc_error_number "0" PHP_INI_ALL
အမှား အချက်အလက် ကို ကြေညာထားသော XML-RPC faultCode အရာရှိ အမှတ် ကို ပြန်လည်ပေးသည်。 docref_ext docref_root PHP_INI_ALL
(available since PHP 4.3) docref_ext "" PHP_INI_ALL
(available since PHP 4.3.2) NULL အမှား အချက်အလက် အချက်အလက် ကို ပြန်လည်ပေးသည်。 PHP_INI_ALL
error_append_string NULL အမှား အချက်အလက် ကို ပြန်လည်ပေးသည်。 PHP_INI_ALL
error_log NULL

အစီအစဉ် အမှား ကို ကြေညာထားသော ဖိုင် ကို စီမံခန့်ခွဲပြီး ဝက် ဝက် စက် အသုံးပြုသူ က ရတတ် ဖိုင် ဖြစ်သည်။

syslog အမှတ် အသုံးပြုလျှင် အမှား အချက်အလက် ကို စနစ် လိုင်းလုံး အချက်အလက် သို့ ပေးပို့ပေးသည်。

PHP_INI_ALL

PHP Error နှင့် Logging အကြမ်း

ပုဂ္ဂိုလ် 描述
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() 创建用户级别的错误消息。
user_error() trigger_error() 的别名。

PHP 5 预定义错误和日志常量

常量 描述
1 E_ERROR 运行时致命的错误。不能修复的错误。终止执行脚本。
2 E_WARNING 运行时非致命的错误。不终止执行脚本。
4 E_PARSE 编译时语法解析错误。解析错误仅仅由分析器产生。
8 E_NOTICE 运行时通知。表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。
16 E_CORE_ERROR PHP စတင်ပြီး အသုံးပြုသူ ဖြစ်သော အကြောင်းကြားချက် (သတိပေးခြင်း သို့မဟုတ် သတိပေးခြင်း သည် သက်ဆိုင်သည်)။ အသုံးပြုသူ ဖြစ်သော E_ERROR နှင့် အတူ အတူ အတူ အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
32 E_CORE_WARNING PHP စတင်ပြီး အသုံးပြုသူ ဖြစ်သော အကြောင်းကြားချက် (သတိပေးခြင်း သို့မဟုတ် သတိပေးခြင်း သည် သက်ဆိုင်သည်)။ အသုံးပြုသူ ဖြစ်သော E_WARNING နှင့် အတူ အတူ အတူ အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
64 E_COMPILE_ERROR အကျုံးတက်သော စစ်ဆေးစည်းကြောင်း အကြောင်းကြားချက် (သတိပေးခြင်း သို့မဟုတ် သတိပေးခြင်း သည် သက်ဆိုင်သည်)။ အသုံးပြုသူ ဖြစ်သော E_ERROR နှင့် အတူ အတူ အတူ အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
128 E_COMPILE_WARNING စစ်ဆေးစည်းကြောင်း အကြောင်းကြားချက် (သတိပေးခြင်း သို့မဟုတ် သတိပေးခြင်း သည် သက်ဆိုင်သည်)။ အသုံးပြုသူ ဖြစ်သော E_WARNING နှင့် အတူ အတူ အတူ အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
256 E_USER_ERROR အသုံးပြုသူ ဖြစ်သော အကြောင်းကြားချက် အချက်အလက်များ။ အသုံးပြုသူ ဖြစ်သော E_ERROR နှင့် အတူ အတူ အတူ အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
512 E_USER_WARNING အသုံးပြုသူ ဖြစ်သော အကြောင်းကြားချက် အချက်အလက်များ။ အသုံးပြုသူ ဖြစ်သော E_WARNING နှင့် အတူ အတူ အတူ အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
1024 E_USER_NOTICE အသုံးပြုသူ ဖြစ်သော အကြောင်းကြားချက် အချက်အလက်များ။ အသုံးပြုသူ ဖြစ်သော E_NOTICE နှင့် အတူ အတူ သားသက်ပြီး အသုံးပြုသူ က ပြုလုပ်သော PHP အုပ်ချုပ်ပုံ trigger_error() ကို အသုံးပြုသည်。
2048 E_STRICT ပြင်ဆင်သူ ပြုလုပ်သော စကားလုံး အပြောင်းအလဲ ကို အသုံးပြုပြီး အကောင်းဆုံး ပတ်သက်မှု နှင့် အသစ်အသုံး ဖြစ်သည့် အပိုင်းစကား ကို အတည်ပြုပါ。
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 除非的所有错误和警告信息。