လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Debug ကိုဘာကြောင့်ဖုန်းခေါ်ဆိုရတာလဲ။

MySQLI :: Debug ကိုဘာကြောင့်ဖုန်းခေါ်ဆိုရတာလဲ။

M66 2025-06-01

ဒေတာဘေ့စ် Debugging အတွက် PHP ၏ MySQLI တိုးချဲ့ခြင်းကိုအသုံးပြုသောအခါ MySQLI :: Debug (Debug) သည်အထူးနှင့်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ developer များက MySQL 0 န်ဆောင်မှုစာကြည့်တိုက်၏သတင်းအချက်အလက်များကိုရှာဖွေခြင်းကိုရှာဖွေရန်ကူညီနိုင်သည်။ သို့သော် developer များစွာသည်ရှုပ်ထွေးမှုများကိုကြုံတွေ့ရလိမ့်မည် ဤဆောင်းပါးသည်ဤအခြေအနေ၏ဖြစ်နိုင်ချေအကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာပြီးသက်ဆိုင်ရာဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။

1 ။ MySQLI :: Debug ၏လုပ်ငန်းလည်ပတ်မှုယန္တရား၏နိဒါန်းနိဒါန်း

MySQLI :: Debug () Debug () function သည် string parameter ကိုလက်ခံသည်။

 mysqli::debug("d:t:filename.log");

"D: T: T: T:" Debug Flag (Debug အလံ) ကိုဤတွင်ဖော်ပြထားသော Debug အလံ (Debug Heads) နှင့် filename နောက်သို့လိုက်သည့် fileName.log သည် log file name ဖြစ်သည်။

တကယ်တော့ MySQLI :: Debug () Debug () Debug ( ) ဖိုင်ကိုတိုက်ရိုက်မဖန်တီးဘူး,

2 ။ ဘုံအကြောင်းတရားများနှင့်ဖြေရှင်းနည်းများ

2.1 ခွင့်ပြုချက်ပြ issues နာများသည်ဖိုင်များကိုရေး။ မရပါ

အကြောင်းရင်း - PHP operating ပတ်ဝန်းကျင် (apache ၏အသုံးပြုသူများအနေဖြင့် Nginx တို့ကဲ့သို့သော Nginx) သည်သတ်မှတ်ထားသော directory သို့မဟုတ် file သို့ခွင့်ပြုချက်မပေးထားပါ။

ဖြေရှင်းချက် -

  • သတ်မှတ်ထားသောမှတ်တမ်းဖိုင်လမ်းကြောင်းသည်မှန်ကန်ပြီးသက်ဆိုင်ရာလမ်းညွှန်များတည်ရှိသည်ကိုအတည်ပြုပါ။

  • ဥပမာအားဖြင့်လမ်းညွှန်ရေးသားထားသောခွင့်ပြုချက်ကိုပေးပါ။

 chmod 755 /path/to/log/dir
chown www-data:www-data /path/to/log/dir

(သင်၏ဆာဗာအသုံးပြုသူကိုချိန်ညှိပါ)

  • PHP ၏ Open_basedir ကန့်သတ်ချက်သည်လမ်းကြောင်းသို့ရေးရန်ခွင့်ပြုပါ။

2.2 ဝင်လာသော parameter သည် format သည်မှားယွင်းနေသည်သို့မဟုတ်လမ်းကြောင်းသည်မမှန်ကန်ပါ

အကြောင်းရင်း - MySQLI :: Debug (Debug) ၏ parameter သည် Parameter သည်ပုံစံအမျိုးမျိုး (Debug) သည် LibmysqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlqlQlin ဘုံ format သည် "D: T: / လမ်းကြောင်း / သို့ / logfile" ဖြစ်သည်။ အကယ်. ၎င်းကိုမမှန်ကန်သောလမ်းကြောင်းတစ်ခုသို့မဟုတ် Domain Name ကိုသာရေးသားထားပါက, မှတ်တမ်းကိုမှန်ကန်စွာထုတ်လုပ်နိုင်မည်မဟုတ်ပါ။

ဖြေရှင်းချက် -

  • ဥပမာ - ပကတိလမ်းကြောင်းများကိုသုံးပါ။

 mysqli::debug("d:t:/var/log/mysqli_debug.log");
  • ဒိုမိန်းအမည်များသို့မဟုတ်ဆွေမျိုးလမ်းကြောင်းများသာရေးသားခြင်းကိုရှောင်ပါ။ အကယ်. လမ်းကြောင်းသည် URL ပါ 0 င်ပါက domain name ကို M66.net ဖြင့်အစားထိုးရန်လိုအပ်ပြီး local file system ၏ခိုင်လုံသောလမ်းညွှန်ကိုညွှန်ပြရန်သေချာစေပါ။ များသောအားဖြင့် log path သည် server local path ဖြစ်သင့်သည်။

2.3 ဆာဗာသည် debugging function ကို debugging function ကိုပိတ်ထားသည်

အကြောင်းရင်း - PHP configurations (သို့) MySQL 0 န်ဆောင်မှုခံယူသူစာကြည့်တိုက်ဗားရှင်းများသည် Debug Logging Debugging Debugging Debugging Debugging Disabled ရှိနိုင်သည်။

ဖြေရှင်းချက် -

  • MySQLI :: Debug () ကို ထောက်ခံကြောင်းအတည်ပြုရန် PHP နှင့် MySQL 0 န်ဆောင်မှုစာကြည့်တိုက်ဗားရှင်းများကိုစစ်ဆေးပါ။

  • ဆာဗာ၏ system log နှင့် default MySQL သုံးစွဲသူမှတ်တမ်းလမ်းညွှန်ကိုစစ်ဆေးပါ။

  • administrator အခွင့်ထူးများဖြင့် script ကို run ရန်နှင့်ခွင့်ပြုချက်ကန့်သတ်ထားခြင်းများကိုဖယ်ထုတ်ပါ။

2.4 မမှန်ကန်ကြောင်းခေါ်ဆိုမှုတည်နေရာ (သို့) သတင်းအချက်အလက်မလုံလောက်ခြင်း

အကြောင်းရင်း - အကယ်. MySQLI :: Debug ( ဥပမာ Debug ကိုခေါ်ပါက (ဥပမာအားဖြင့်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုမတည်ဆောက်နိုင်ပါ, scription ကိုကွပ်မျက်ပြီးနောက်) ကိုထုတ်ပြန်ခြင်းမရှိပါ။

ဖြေရှင်းချက် -

  • MySQLI :: debug () Debug () Debug () Debugge ဆက်သွယ်မှုသည် debugging information ကိုဖမ်းယူနိုင်ရန်သေချာစေရန်။

  • ခေါ်ဆိုမှု parametersters မှန်ကန်သောနှင့်သတ်မှတ်ချက်များနှင့်ကိုက်ညီကြောင်းအတည်ပြုပါ။

3 ။ Code ဥပမာ

MySQLI :: Debug () Debug () ကို ဘယ်လိုကောင်းမွန်စွာခေါ်ရမယ်ဆိုတာကိုပြသတဲ့နမူနာကုဒ်တစ်ခုပါ။

 <?php
// ဖွင့်လှစ် mysqli ဆုတ်ဘေါက်,Server Local Path သို့ 0 င်ရောက်ခြင်းမှတ်တမ်း,ဒိုမိန်းအမည်ကိုအစားထိုးပါ m66.net
mysqli::debug("d:t:/var/log/m66.net_mysqli_debug.log");

// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_errno) {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
} else {
    echo "အောင်မြင်စွာဆက်သွယ်မှု";
}

// တစ် ဦး စုံစမ်းမှု execute
$result = $mysqli->query("SELECT * FROM users");
if ($result) {
    while ($row = $result->fetch_assoc()) {
        print_r($row);
    }
}

$mysqli->close();
?>

မှတ်တမ်း Path Path /Var/Log/m66.net_mysqli_debuggug.log သည်ဆာဗာတွင်မှန်ကန်သောအကြွင်းမဲ့လမ်းကြောင်းဖြစ်ရမည်ဟုသတိပြုပါ။

4 ။ အကျဉ်းချုပ်

MySQLI :: Debug (Debug) သည် log files များကိုထုတ်လုပ်ရန်ပျက်ကွက်သည်။ များသောအားဖြင့်ခွင့်ပြုချက်မလုံလောက်ခြင်း, မမှန်ကန်ကြောင်းလမ်းကြောင်းဆက်တင်များ, သေချာအောင်လုပ်ပါ:

  • သတ်မှတ်ထားသောမှတ်တမ်းလမ်းကြောင်းသည်မှန်ကန်ပြီးသက်သက်ဖြစ်သည်။

  • ဝင်လာသော parameter သည် format သည်သတ်မှတ်ချက်နှင့်ကိုက်ညီသည်။

  • ခေါ်ဆိုမှုအချိန်သည်ကျိုးကြောင်းဆီလျော်သည်။

  • PHP နှင့် MySQL 0 န်ဆောင်မှုခံယူသူစာကြည့်တိုက်များသည် debugging ကိုထောက်ပံ့သည်။

၎င်းသည် debug logs ကိုထိထိရောက်ရောက်ထုတ်လုပ်နိုင်ပြီး developer များပိုမိုကောင်းမွန်စွာ develabase နှင့်သက်ဆိုင်သည့်ပြ issues နာများကိုပိုမိုကောင်းမွန်အောင်ကူညီလိမ့်မည်။