လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အလျင်အမြန်ရှာဖွေခြင်းပြ problems နာများကိုလွယ်ကူချောမွေ့စေရန်ပိုမိုအသေးစိတ်နှင့်စိတ်ကြိုက်အမှားအယွင်းများကိုထုတ်လုပ်ရန် GetRaceasString function ကိုအသုံးပြုနည်း

အလျင်အမြန်ရှာဖွေခြင်းပြ problems နာများကိုလွယ်ကူချောမွေ့စေရန်ပိုမိုအသေးစိတ်နှင့်စိတ်ကြိုက်အမှားအယွင်းများကိုထုတ်လုပ်ရန် GetRaceasString function ကိုအသုံးပြုနည်း

M66 2025-06-15

နေ့စဉ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်ပရိုဂရမ်တွင်ခြွင်းချက်များမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ပြ the နာကိုလျင်မြန်စွာရှာဖွေရန် PHP သည် PHP သည်အလွန်လက်တွေ့ကျကျ နည်းပါးသော အတန်းအစား - GetTraceasString () ။ ၎င်းသည် stack trace အချက်အလက်များကို string trace အချက်အလက်များကို string output ထဲသို့ထုတ်ဖော်ပြောဆိုခြင်း, အမှားများဖြစ်ပေါ်ခြင်းနှင့်ခေါ်ဆိုမှုကွင်းဆက်ကိုတွေ့နိုင်သည်။

အခြေခံအသုံးပြုမှု

ခြွင်းချက်တစ်ခုဖမ်းမိသောအခါကျွန်ုပ်တို့သည် stack အချက်အလက်များကိုရရန် GetTraacsString () ကို တိုက်ရိုက်သုံးနိုင်သည်။

<code> ကြိုးစားပါ {// SICCESS NOW ခြွင်းချက်အသစ် ("စမ်းသပ်မှုအမှား") } ဖမ်း (ခြွင်းချက် $ င) {echo $ e-> gettraceasstring (); } </ code>

output သည်အောက်ပါနှင့်ဆင်တူသည် -

 #0 /var/www/html/test.php(3): throw new Exception('စမ်းသပ်မှုအမှား')
#1 {main}

၎င်းသည်အခြေခံအချက်အလက်များကိုလက်တွေ့ကျသောအပလီကေးရှင်းများဖြင့်ပြုလုပ်ထားပြီးဖြစ်သော်လည်း,

စိတ်ကြိုက်အမှားအယွင်းများ Template

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

<code> function lowexceptionxceptuddefail (ခြွင်းချက် $ င) {$ log = []; $ log [] = "အချိန်" ။ ရက်စွဲ ('YMD H: i: S: S'); $ log [] = "အမှားအယွင်း -" ။ $ e-> gettessage (); $ log [] = "ဖိုင် -" ။ $ e-> getfile () ။ "" "" "" "" "line" () "line"; $ log url: "_sert_ARDRE]; $ _server ['untote_addr']; $ log _" "" တောင်းဆိုချက် parameters) ။ JSOR_UNSESSesTaped_unicode); $ log [] = "ခေါ်ဆိုမှု stack: \ n" ။ $ e-gettraceasstring ();
 file_put_contents(__DIR__ . '/error.log', implode("\n", $log) . "\n\n", FILE_APPEND);

}
</ code>

ပရိုဂရမ်တွင်အသုံးပြုပါ။

<code> ကြိုးစားပါ {// အမှားတစ်ခုရှိနိုင်သည့်အမှားတစ်ခုပြုလုပ်နိုင်သည့် someriskyfunction () ဆိုပါစို့။ } ဖမ်း (ခြွင်းချက် $ င) {logexceptionDailed ($ င); ECHO "system error error error rights: နောက်မှထပ်ကြိုးစားပါ။ "; } </ code>

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အမှားအယွင်းများကိုမှတ်တမ်းတင်ခြင်းနှင့် stack နဂိုအတိုင်းကိုမှတ်တမ်းတင်ခြင်း,

အီးမေးလ် Alarm သို့မဟုတ်ဝေးလံခေါင်သီအသိပေးချက်နှင့်အတူပေါင်းစပ်

အရေးပါသောစနစ်များတွင်အမှားတစ်ခုဖြစ်ပွားပြီးနောက်, မှတ်တမ်းကိုမှတ်တမ်းတင်ရန်လိုအပ်ရုံသာမက developer များအားအချိန်နှင့်တပြေးညီအကြောင်းကြားရန်လည်းလိုအပ်သည်။ အထက်ပါ logexceptiondefredDailding function ကိုတိုးချဲ့နိုင်သည်, အီးမေးလ်များသို့မဟုတ်ဖုန်းခေါ်ဆိုသောအဝေးသင်, Dingtalk, Dingtalk သို့မဟုတ်သင်၏ကိုယ်ပိုင်အသိပေးစာစနစ်ကဲ့သို့သောအီးမေးလ်များကိုပို့နိုင်သည်။

<Code> function notifydeveam ($ message) {$ url = "https://api.m66.net/notify"; // နမူနာ interface $ ဒေတာ = ['msg' => $ မက်ဆေ့ခ်ျ];
 $opts = [
    "http" => [
        "method" => "POST",
        "header" => "Content-Type: application/json",
        "content" => json_encode($data)
    ]
];
file_get_contents($url, false, stream_context_create($opts));

}
</ code>

သစ်ထုတ်လုပ်ပြီးနောက်ထည့်ပါ

<Code> Notifydeveadeveam (implinedode ("\ n", $ log)); </ code>

အကျဉ်းချုပ်

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