လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP မှအပြည့်အစုံ debugging အမှားကိုင်တွယ်ခြင်းနှင့်အမှားအယွင်းများ

PHP မှအပြည့်အစုံ debugging အမှားကိုင်တွယ်ခြင်းနှင့်အမှားအယွင်းများ

M66 2025-10-13

PHP ၏အရေးပါမှုအမှားကိုင်တွယ်ပုံ၏အရေးပါမှု

Debugging အမှားများသည် PHP ဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်၏မလွှဲမရှောင်သာအစိတ်အပိုင်းဖြစ်သည်။ Debugging သည်အစပြုသူများအတွက်ရှုပ်ထွေးနိုင်သော်လည်းသိပ္ပံနည်းကျနည်းများနှင့်ကိရိယာများနှင့်အတူပြ problems နာများလျင်မြန်စွာတည်ရှိပြီးဖြေရှင်းနိုင်သည်။ ဤဆောင်းပါးသည် PHP debugging အမှားများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုမိတ်ဆက်ပေးပြီး developer များဖွံ့ဖြိုးတိုးတက်ရေးထိရောက်မှုကိုတိုးတက်အောင်ကူညီရန်သက်ဆိုင်ရာအမှားများကိုမိတ်ဆက်ပေးလိမ့်မည်။

PHP အမှားအဆင့်ကိုနားလည်ခြင်း

ပထမ ဦး စွာ PHP မှပေးသောအမှားအယွင်းများအဆင့်ကိုနားလည်ရန်လိုအပ်သည်။ ဘုံအမှားအဆင့်များတွင်:

  • e_warning: မသေဆုံးသောအမှား, သတိပေးချက်ထုတ်ပေးသော်လည်း script ကွပ်မျက်မှုကိုမရပ်ပါ။
  • E_NOTICE - မတည်ရှိသော uninitialized variable တွေကိုသို့မဟုတ် ininitialized variarles သို့မဟုတ် ininitialized variar အညွှန်းကိန်းအဖြစ်။
  • E_ERROR: ဇာတ်ညွှန်းကိုချက်ချင်းကွပ်မျက်ခြင်းကိုရပ်တန့်စေမည့်ဆိုးဝါးသောအမှား။

Settings ကိုအစီရင်ခံခြင်းအမှား

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

နည်းလမ်း 1 - အမှားအဆင့်ကို Code ထဲမှထည့်ပါ။

<?php
error_reporting(E_ALL); // အမှားအားလုံးကိုသတင်းပို့ပါ
?>

နည်းလမ်း 2 - PHPP.INI ဖိုင်တွင်ထားပါ။

 error_reporting = e_All

PHP အမှားဥပမာ

အောက်ပါဥပမာသည်အမှားအယွင်းတစ်ခုဖန်တီးနည်းကိုပြသည်။

<?php
error_reporting(E_ALL); // အမှားအားလုံးကိုသတင်းပို့ပါ

// ငါတို့မှာ undefined variable ရှိတယ်ဆိုပါစို့$name
echo $name;

// ကျနော်တို့သုညစစ်ဆင်ရေးအားဖြင့်ကွဲပြားမှုရှိသည်ဆိုပါစို့
echo 10 / 0;

// မတည်ရှိသော function ကိုခေါ်ပါ
myFunction();

// Fatal အမှားများသည် executing ကိုရပ်တန့်ရန်ဇာတ်ညွှန်းကိုဖြစ်ပေါ်စေသည်,အောက်ပါကုဒ်ကို execute လိမ့်မည်မဟုတ်ပေ
echo "ဒီကုဒ်ဘယ်တော့မှမှာဘယ်တော့မှလိမ့်မည်";
?>

ဤကုဒ်ကိုကွပ်မျက်သည့်အခါ PHP သည်အောက်ပါအမှားအယွင်းကိုထုတ်ပေးလိမ့်မည်။

 သတိပြုရန် - undefined variable: workpil/filename.php တွင်နံပါတ် 5 တွင်ဖော်ပြပါ

သတိပေးချက် - နံပါတ် (7) တွင် / wath/filename.php တွင်သုညဖြင့်ကွဲပြားခြင်း

Fatal Error: uncafined အမှား - undefined function myFunction () ကို /) / 0 င် /
ခြေရာများကို stack:
# 0 {Main}
  လိုင်း 9 တွင် /path/filename.php တွင်ပစ်ချ

ဤအမှားသတိပေးချက်များသည်ပြ the နာကိုလျင်မြန်စွာရှာဖွေရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။ $ name ကိုသတ်မှတ်မထားကြောင်းနှင့်ပထမ ဦး ဆုံးအစပြုရန်လိုအပ်ကြောင်းသတိပြုပါ။ သတိပေးချက်သည်သုညစစ်ဆင်ရေး၏ကွဲပြားမှုဖြစ်ပွားခြင်းကိုဖြစ်ပေါ်စေပြီးရှောင်ရှားရန်လိုအပ်သည်ဟုသတိပေးသည်။ Fatal Error ဆိုသည်မှာမတည်ရှိသောလုပ်ဆောင်ချက်တစ်ခုဟုခေါ်ပြီး function ခေါ်ဆိုမှုကိုပြန်လည်ပြုပြင်ရန်လိုအပ်သည်ဟုဆိုလိုသည်။

debugging tools တွေကိုသုံးပါ

အမှားအယွင်းများမှတစ်ဆင့်သင်၏ code ကို debging လုပ်ခြင်းအပြင်သင်၏ထိရောက်မှုကိုတိုးတက်စေရန် Debugging Tools များကိုလည်းသုံးနိုင်သည်။

  • XDebug: Breakpoints များ, တန်ဖိုးများကိုကြည့်ရှုနိုင်သည့်အစွမ်းထက်သော debugger နှင့်ခွဲခြမ်းစိတ်ဖြာကိရိယာတစ်ခု
  • PHPPMAMM - Single-step single-step debugging နှင့် breakpoint subugging ကိုထောက်ပံ့သော PHP ပေါင်းစည်းထားသောဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်။
  • XDebug နှင့် PHPPSMOM ၏ပေါင်းစပ်မှု - ide in breakpoints များနှင့် breakpoints များတပ်ဆင်နိုင်ပြီး XDebug မှ ဖြတ်. ကုဒ်ရေးဆွဲခြင်း။

အမှားအယွင်းများကိုစနစ်တကျရေးဆွဲခြင်းနှင့် debugging tools များကိုအသုံးပြုခြင်းအားဖြင့် PHP အမှားများကိုပိုမိုမြန်ဆန်စွာ သတ်မှတ်. Code ကိုပိုမိုတည်ငြိမ်ပြီးယုံကြည်စိတ်ချရနိုင်သည်။ ဤနည်းလမ်းများကျွမ်းကျင်မှုသည်ဖွံ့ဖြိုးမှုစွမ်းရည်ကိုသိသိသာသာတိုးတက်စေပြီး debugging အချိန်ကိုလျှော့ချလိမ့်မည်။

မကြာသေးမီ ဆောင်းပါးများ