PHP ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင်ဆိုးဝါးသောအမှားများသည်အစီအစဉ်ကိုဆက်လက်မလုပ်ဆောင်နိုင်ဟုမကြာခဏဆိုသလိုဆိုလိုသည်။ ဘုံအကြောင်းတရားများတွင် syntax အမှားများ, ယုတ္တိဗေဒတွင်းများသို့မဟုတ်စနစ်အရင်းအမြစ်များကိုပင်ပန်းနွမ်းနယ်ခြင်းများပါဝင်သည်။ ချွင်းချက်များပေါ်ပေါက်လာသောအခါ application ကိုတည်ငြိမ်စွာလည်ပတ်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်ဆိုးဝါးသောအမှားများကိုတစ်ပုံစံတည်းစီမံခန့်ခွဲရန်လိုအပ်သည်။
PHP သည် set_error_handler () function ကိုထောက်ပံ့ပေးသည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ဆိုးဝါးသောအမှားများအပါအ 0 င်အမှားအယွင်းအမျိုးမျိုးကိုကြားဖြတ်နိုင်ပြီးကိုင်တွယ်နိုင်သည်။
// တစ် ဦး စိတ်ကြိုက်အမှားကိုင်တွယ်erler set up
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
// အမှားများကိုကိုင်တွယ်ရန်ယုတ္တိဗေဒ
});
ထုံးစံအမှားကိုင်တွယ်သည့်လုပ်ဆောင်မှုသည်အသေးစိတ်အချက်အလက်များကိုအသေးစိတ်ဖော်ပြရန် parameters လေးနာရီကိုရရှိသည်။
Error Code သည်အဆက်မပြတ် e_Error နှင့်ကိုက်ညီသည့်အခါအမှားသည်ဆိုးဝါးရန်ဆုံးဖြတ်သည်။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်အမှားကို log လုပ်နိုင်သည်, စီမံခန့်ခွဲမှုကိုအကြောင်းကြားပြီးပရိုဂရမ်ကိုလုံခြုံစွာရပ်စဲပါ။
if ($errno === E_ERROR) {
// ဆိုးဝါးအမှားများကိုကိုင်တွယ်
}
အောက်ပါဥပမာသည်သစ်ခုတ်ခြင်း, အီးမေးလ်သတိပေးချက်များနှင့် script များအပါအ 0 င်ထုံးစံလုပ်ဆောင်ချက်များကိုမှတစ်ဆင့်ဆိုးဝါးသောအမှားများကိုမည်သို့ဖမ်းယူနိုင်ကြောင်းပြသသည်။
// ဆိုးဝါးအမှား handler ထားပါ
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
if ($errno === E_ERROR) {
// မှတ်တမ်းအမှားမက်ဆေ့ခ်ျကို log
error_log("ဆိုးဝါးအမှား:$errstr တည်နေ $errfile အမှတ် $errline အိုကေ");
// Admin အကြောင်းကြားစာပေးပို့ပါ
mail('admin@example.com', 'ဆိုးဝါးအမှား警告', "အမှားအယွင်းအသေးစိတ်:$errstr");
// Safe Exit Script
exit;
}
});
// 模拟一个ဆိုးဝါးအမှား
trigger_error('ဆိုးဝါးအမှား模拟', E_USER_ERROR);
PHP အမှားကိုင်တွယ်သည့်ယန္တရားကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုသောကြော့ရှင်းသောတုန့်ပြန်မှုမဟာဗျူဟာကိုအကောင်အထည်ဖော်နိုင်သည်။ ၎င်းသည်သစ်ထုတ်လုပ်ခြင်း, အချိန်မှန်သတိပေးချက်များသို့မဟုတ်အလိုအလျောက်ပြန်လည်ထူထောင်ရေးဟုတ်မဟုတ်, ကောင်းသောအမှားကိုင်တွယ်မှုသည်စနစ်၏ကြံ့ခိုင်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။