PHP applications များကိုတီထွင်သောအခါအမှားအချက်အလက်များကိုမှတ်တမ်းတင်ခြင်းသည်အရေးကြီးသော debugging လုပ်ငန်းစဉ်ဖြစ်သည်။ များသောအားဖြင့် PHP သည် built-in error_log function ကိုထောက်ပံ့ပေးသည်။ Error_log ကို ကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့် developer များပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်သာမကကုဒ်၏ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်အမှားအယွင်းများအနေဖြင့်ပြုပြင်ပြောင်းလဲမှုနည်းလမ်းကိုလည်းစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ ဤ post တွင် PHP Error_log function ကိုမည်သို့အသုံးပြုရမည်ကိုအထူးသဖြင့်အမှားအယွင်းများကိုမည်သို့စိတ်ကြိုက်ပြုလုပ်နိုင်ပုံနှင့်သတ်မှတ်ထားသော URL သို့ပေးပို့နိုင်သည်။
ပထမ ဦး စွာ error_log function ကိုအသုံးပြုရန်အလွယ်ကူဆုံးနည်းလမ်းမှာ PHP ၏ပုံမှန်အမှားမှတ်တမ်းသို့အမှားအချက်အလက်များကိုမှတ်တမ်းတင်ရန်ဖြစ်သည်။ ပုံမှန်အားဖြင့် PHP output များကို server ၏ log file သို့အမှားအယွင်းများ။
error_log("This is a custom error message.");
ဤကုဒ်နံပါတ် Log Log "ဤသည်ထုံးစံအမှားမက်ဆေ့ခ်ျတစ်ခုဖြစ်ပါတယ်။ " PHP default အမှားမှတ်တမ်းသို့။ php.ini configuration file တွင် အမှားအယွင်းများကို ပြုပြင်ခြင်းဖြင့်မှတ်တမ်းဖိုင်၏တည်နေရာကိုသင်သတ်မှတ်နိုင်သည်။
default အမှားမှတ်တမ်းအပြင်သတ်မှတ်ထားသောဖိုင်ကိုသတင်းအချက်အလက်များထုတ်ပေးနိုင်သည်။ Error_log သို့ဒုတိယ parameter အဖြစ်ဖိုင်လမ်းကြောင်းအတိုင်းဖြတ်သန်းပါ။
error_log("This is a custom error message.", 3, "/path/to/your/logfile.log");
ဤနေရာတွင် 3 ခုသည် သစ်ထုတ်လုပ်ခြင်းအမျိုးအစားကိုကိုယ်စားပြုသည်, ဆိုလိုသည်မှာဖိုင်တစ်ခုထဲသို့ 0 င် ရောက်ခြင်း, ဖိုင်တစ်ခုထဲသို့ဝင်ရောက်ခြင်း, အကယ်. ဖိုင်မရှိပါက PHP သည်ဖိုင်ကိုဖန်တီးရန်ကြိုးစားလိမ့်မည်။
အကယ်. သင်သည် Remote server သို့အမှားမက်ဆေ့ခ်ျတစ်ခုပို့လိုပါက errlog ၏ URL ပုံစံကိုသုံးနိုင်သည်။ ဤအချိန်တွင်မှတ်တမ်းအချက်အလက်ကို HTTP Post တောင်းခံခြင်းမှတစ်ဆင့်သတ်မှတ်ထားသော URL သို့ပို့ပေးပါလိမ့်မည်။
error_log("This is a custom error message.", 1, "http://gitbox.net/error-handler");
ဤဥပမာတွင်အမှားမက်ဆေ့ခ်ျကို http://gitbox.net/error-handler သို့ပို့လိမ့်မည်။ ၎င်းသည်ပြုပြင်ခြင်းသို့မဟုတ်သိုလှောင်ရန်အတွက်ပြင်ပဆာဗာတစ်ခုအားပြင်ပဆာဗာတစ်ခုသို့သတင်းအချက်အလက်များကိုဗဟိုပြုခြင်း,
Error_log လုပ်ဆောင်မှုသည်ကွဲပြားသောမှတ်တမ်းအဆင့်ဆင့်ကိုထောက်ပံ့သည်။ ကွဲပြားခြားနားသောမှတ်တမ်းအမျိုးအစားများကိုသတ်မှတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သတင်းအချက်အလက်သတင်းအချက်အလက်များကိုမည်သို့လုပ်ဆောင်သည်ကိုကျွန်ုပ်တို့ထိန်းချုပ်နိုင်သည်။ အများအပြားသာမန်မှတ်တမ်းအမျိုးအစားများရှိပါတယ်:
0 : PHP စနစ်မှတ်တမ်း (ပုံမှန်အပြုအမူ) သို့ပို့ပါ။
1 : အမှားမက်ဆေ့ခ်ျကိုစာဖြင့်ပို့ပါ။
2 : Stderr သို့အမှားမက်ဆေ့ခ်ျပို့ပါ။
3 : ဖိုင်ကိုအမှားမက်ဆေ့ခ်ျကို output ။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်မှားယွင်းသောစာတိုက်ပုံးသို့စာဖြင့်ပို့သည်။
error_log("This is a custom error message.", 1, "[email protected]");
အမှားမက်ဆေ့ခ်ျကိုမှတ်တမ်းတင်ခြင်းအပြင်အမှားများ, လိုင်းနံပါတ်သို့မဟုတ်အမှားအယွင်းရှိသည့်တောင်းဆိုထားသော URL ကဲ့သို့သောအခြေအနေတွင်ပိုမိုဆက်စပ်မှုရှိလိုကြသည်။ ဤအချက်အလက်သည် developer များပိုမိုလျင်မြန်စွာရှာဖွေတွေ့ရှိရန်ကူညီနိုင်သည်။
$error_message = "An error occurred.";
$context = [
'file' => __FILE__,
'line' => __LINE__,
'request_url' => "http://gitbox.net/api/data"
];
error_log($error_message . " " . json_encode($context));
ဤကုဒ်သည်အမှားအယွင်းများနှင့်အမှားအယွင်းများအတူတကွမှတ်တမ်းတင်ထားသည်။ သင်သည်အခြေအနေဆိုင်ရာအချက်အလက်များကိုရှင်းလင်းစွာပြုလုပ်နိုင်ပြီးအခြေအနေကို JSON String သို့ format လုပ်ခြင်းဖြင့်နားလည်ရန်ပိုမိုလွယ်ကူနိုင်သည်။
သာမန်အမှားမက်ဆေ့ခ်ျများအပြင် PHP သည်ခြွင်းချက်ကိုင်တွယ်သည့်ယန္တရားကိုလည်းထောက်ပံ့ပေးသည်။ ခြွင်းချက်များကိုကိုင်တွယ်သည့် အခါ , ဤသို့ပြုလုပ်ရန်သင် ကြိုးစားကြည့်ခြင်းအတွက်ခြွင်းချက်ကိုဖမ်းမိနိုင်သည်။ ဖမ်းမိသည့် ကြေငြာချက်ကိုဖမ်းမိသည့်အခါ အမှားအယွင်းကို ပိတ်ပင်ထားသည်။
try {
throw new Exception("This is a custom exception.");
} catch (Exception $e) {
error_log("Caught exception: " . $e->getMessage(), 3, "/path/to/your/logfile.log");
}
ဤကုဒ်သည်ခြွင်းချက်များကိုဖမ်းပြီး log file တစ်ခုထဲသို့ချွင်းချက်ရှိသောသတင်းအချက်အလက်များကို log file ထဲသို့ဝင်ရောက်ပါမည်။
တစ်ခါတစ်ရံတွင်အမှားမှတ်တမ်းဖိုင်များသည်လျင်မြန်စွာကြီးထွားလာပြီး disk နေရာမလုံလောက်ပါ။ ဤပြ problem နာကိုဖြေရှင်းရန်သင်သည် log file ၏အများဆုံးအရွယ်အစားကို သတ်မှတ်. log သည်ထိုအရွယ်အစားသို့ရောက်သောအခါအလိုအလျောက်ပြန်ဖွင့်နိုင်သည်။
ini_set('log_errors_max_len', 1024); // log file ၏အများဆုံးအရှည်ကိုသတ်မှတ်ပါ 1024 ဒရယ်
သင့်တင့်သောမှတ်တမ်းဖိုင်များ၏အရွယ်အစားကန့်သတ်ချက်ကိုကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းအားဖြင့်အလွန်အကျွံ log files များကြောင့်ဖြစ်သော disk နေရာပြ problems နာများကိုသင်ရှောင်ရှားနိုင်သည်။
PHP ၏ Error_log function သည်ဖွံ့ဖြိုးရေးကာလအတွင်းအမှားအယွင်းများစွာမှတ်တမ်းတင်နိုင်သည့်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ Error_log ကို ကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့်သင်သည်အမှားအချက်အလက်များကိုမှတ်တမ်းတင်ရုံသာမကပြင်ပ URLs များ, ဖိုင်များသို့မဟုတ်စာတိုက်ပုံးများသို့အမှားအယွင်းများပေးပို့ခြင်း, ဖြန့်ဖြူးသော applications များတွင် URLs များကို အသုံးပြု. URL များကို အသုံးပြု. အမှားမက်ဆေ့ခ်ျများပို့ရန်အတွက်မှတ်တမ်းများကိုစီမံခန့်ခွဲရန်အလွန်လက်တွေ့ကျကျနည်းလမ်းဖြစ်သည်။