လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အမှားအယွင်းသတင်းအချက်အလက်ကို error_get_last () ကို သုံး. ရရှိနိုင်ပါသလား။ အကောင်အထည်ဖော်ခြင်းနည်းလမ်းများကဘာလဲ။

အမှားအယွင်းသတင်းအချက်အလက်ကို error_get_last () ကို သုံး. ရရှိနိုင်ပါသလား။ အကောင်အထည်ဖော်ခြင်းနည်းလမ်းများကဘာလဲ။

M66 2025-06-15

အမှားကိုင်တွယ်ပုံသည် PHP ပရိုဂရမ်၏အလွန်အရေးကြီးသောအစိတ်အပိုင်းဖြစ်သည်။ အမှားအယွင်းများကိုထိရောက်စွာဖမ်းယူနိုင်ပုံကိုနားလည်ခြင်းသည်အစီအစဉ်၏ကြံ့ခိုင်မှုကိုတိုးတက်စေရုံသာမကအမှားအယွင်းများပေါ်ပေါက်လာသည့်အခါပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်လည်းကူညီသည်။ Error_get_last () သည် PHP တွင်နောက်ဆုံးအမှားအယွင်းများနှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုရယူရန်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ ဒါကြောင့်အမှားအယွင်းရေးသတင်းအချက်အလက်ကိုရယူဖို့ error_get_last () ကို သုံးနိုင်သလား။ နက်ရှိုင်းတဲ့ကြည့်ကြည့်ရအောင်။

Error_get_last သို့မိတ်ဆက်ခြင်း ()

အမှား error_get_last () function က function ကိုလတ်တလောအမှားအယွင်းများပါ 0 င်သည့်အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုကိုပြန်လည်ရရှိစေသည်။ ဒီခင်းကျင်းမှု၏ဖွဲ့စည်းပုံသည်များသောအားဖြင့်အောက်ပါသော့များပါ 0 င်သည်။

  • အမျိုးအစား : အမှားအမျိုးအစား (e.g. e_notice , e_warning စသည်) ၏စဉ်ဆက်မပြတ်တန်ဖိုး။

  • မက်ဆေ့ခ်ျ : မမှန်ကန်ကြောင်းတိကျသောသတင်းအချက်အလက်။

  • File : အမှားဖြစ်ပွားသည့်ဖိုင်လမ်းကြောင်း။

  • လိုင်း - အမှားအယွင်းရှိသည့်လိုင်းနံပါတ်။

ဤလုပ်ဆောင်မှုသည်များသောအားဖြင့် script execution စဉ်အတွင်းနောက်ဆုံးအမှားအယွင်းများနှင့်ပတ်သက်သည့်သတင်းအချက်အလက်များကိုအထူးသဖြင့် ခြွင်းချက် ဖော်ပြချက်ကိုမသုံးနိုင်ပါက,

error_get_last () အမှားအယွင်းများကိုရယူပါ။

error_get_last () သည်နောက်ဆုံးအမှားမက်ဆေ့ခ်ျကိုသာပြန်ပို့နိုင်ပြီး၎င်းသည်အသေးစိတ် stack အချက်အလက်များကိုမဖော်ပြထားပါ။ အကယ်. အမှားတစ်ခုဖြစ်ပြီးဆက်နွယ်သော function call information အချက်အလက်များဖြစ်သည့်ခေါ်ဆိုမှုကွင်းဆက်ကဲ့သို့သောအသေးစိတ် stack trace ကိုသင်ပိုမိုအသေးစိတ်ကြည့်ရှုလိုပါက အမှားအယွင်းရှိသည့် function_last () သည်လွှမ်းမိုးနေပုံရသည်။

အမှန်မှာ, error_get_last () သည်ပေါ့ပါးသောအမှားများကိုဖမ်းယူသောကိရိယာတစ်ခုဖြစ်ပြီးရှုပ်ထွေးသောအမှားများကိုဖြေရှင်းရန်အတွက်ရှုပ်ထွေးသောအမှားလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။ အသေးစိတ်အချက်အလက်များကိုအသေးစိတ်အချက်အလက်များလိုအပ်ပါက PHP သည်အခြားနည်းလမ်းများကိုအကောင်အထည်ဖော်ရန်အခြားနည်းလမ်းများကိုထောက်ပံ့ပေးသည်။

အမှားအယွင်းသတင်းအချက်အလက်ရယူရန်နည်းလမ်းကိုအကောင်အထည်ဖော်ပါ

ပိုမိုပြည့်စုံသောအမှားအယွင်းများကိုရယူရန်အချက်အလက်များကိုအောက်ပါနည်းလမ်းများကိုထည့်သွင်းစဉ်းစားနိုင်သည် -

1 ။ set_error_handler () ကိုသုံးပါ

ထုံးစံအမှားကိုင်တွယ်မှုများကိုကိုင်တွယ်ဖြေရှင်းခြင်းနှင့် debugebacktace () နှင့်ပေါင်းစပ်ပြီး debugebacktace () နှင့်ပေါင်းစပ်ပြီးအသေးစိတ် stack အချက်အလက်များကိုရယူနိုင်ပါသည်။ ဥပမာအားဖြင့်:

 <?php
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
    $errorDetails = [
        'errno' => $errno,
        'errstr' => $errstr,
        'errfile' => $errfile,
        'errline' => $errline,
        'backtrace' => debug_backtrace() // stack သတင်းအချက်အလက်ရယူပါ
    ];
    echo '<pre>';
    print_r($errorDetails);
    echo '</pre>';
});

// အမှားတစ်ခုပုံဖော်ပါ
echo $undefinedVar;
?>

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အမှား၏အခြေခံအချက်အလက်များကိုသာသိမ်းဆည်းရမိရုံသာမကအမှားအယွင်းများဖြစ်ပေါ်သည့်အခြေအနေကိုပိုမိုရှင်းလင်းစွာနားလည်ရန်အထောက်အကူပြုသည်။

2 ။ ခြွင်းချက်ဖမ်းရန် ကြိုးစားမှု - ဖမ်းကို သုံးပါ

အကယ် . သင်သည် Object-Objected Programming method တစ်ခုကို အသုံးပြုနေပါက, ဥပမာအားဖြင့်:

 <?php
try {
    // ခြွင်းချက်တစ်ခုပစ်ချသည့်အခြေအနေကိုတုပပါ
    throw new Exception("Something went wrong!");
} catch (Exception $e) {
    echo "Error Message: " . $e->getMessage() . "<br>";
    echo "Stack Trace: <pre>" . $e->getTraceAsString() . "</pre>";
}
?>

ဤနည်းအားဖြင့်အပြည့်အဝ stack အချက်အလက်သည်ခြွင်းချက်ဖမ်းမိသည့်အခါ output ဖြစ်နိုင်သည်။ GetTraceasString () နည်းလမ်းဖြင့်ပြန်လာသော stack အချက်အလက်များ () နည်းလမ်းဖြင့် () နည်းလမ်းကိုဖြစ်ပေါ်နေသောစဉ်ဆက်မပြတ်ဖြစ်စဉ်ကိုနားလည်ရန်ကူညီလိမ့်မည်။

အမှားအချက်အလက်များကိုမှတ်တမ်းတင်ရန် PHP ၏ Error_log () function ကိုသုံးပါ

PHP သည်အမှားအချက်အလက်များကို log file တစ်ခုသို့သို့မဟုတ်ဝေးလံသောဆာဗာသို့ပို့နိုင်သည့် အမှားအယွင်း တစ်ခုဖြစ်သည်။ နောက်ဆက်တွဲခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အမှားအယွင်းများကိုရေးရန်အချက်အလက်များကိုရေးရန်ဤလုပ်ဆောင်မှုကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

 <?php
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
    $backtrace = debug_backtrace();
    $logMessage = "Error: $errstr in $errfile on line $errline\nStack Trace:\n";
    foreach ($backtrace as $trace) {
        $logMessage .= "File: {$trace['file']} Line: {$trace['line']} Function: {$trace['function']}\n";
    }
    error_log($logMessage, 3, '/path/to/error.log'); // log ရန် stack သတင်းအချက်အလက်မှတ်တမ်းတင်
});

// အမှားတစ်ခုပုံဖော်ပါ
echo $undefinedVar;
?>

ဤနည်းအားဖြင့်သင်သည်အမှားသတင်းအချက်အလက်များကိုမှတ်တမ်းတင်ပြီးနောက်ဆက်တွဲပြ troubl နာဖြေရှင်းရန်လွယ်ကူချောမွေ့စေရန်သတင်းအချက်အလက်များကိုမှတ်တမ်းဖိုင်ထဲသို့ထည့်နိုင်သည်။

အကျဉ်းချုပ်

Error_get_last () function သည် PHP တွင်အလွန်အသုံးဝင်သော်လည်း၎င်းသည်အသေးစိတ်အချက်အလက်များကိုမဖော်ပြထားပါ။ သင်က Richer stack data လိုအပ်လျှင် set_error_handler () ကို Debugebacktrace () ကို သုံး. debugebacktace () ကို သုံး. သို့မဟုတ် gettrace () နည်းလမ်းကိုသုံးနိုင်သည် ထို့အပြင် error_log () function ကိုပေါင်းစပ်ပြီး, နောက်ဆက်တွဲအမှားပြ troubl နာဖြေရှင်းခြင်းများလွယ်ကူချောမွေ့စေရန်သင်ဤအမှားအချက်အလက်များကို log file ထဲသို့ 0 င်ရောက်နိုင်သည်။