လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Debug နှင့် MySQL ဒေသခံ Debug Logues အကြားကွဲပြားခြားနားမှုများနှိုင်းယှဉ်

MySQLI :: Debug နှင့် MySQL ဒေသခံ Debug Logues အကြားကွဲပြားခြားနားမှုများနှိုင်းယှဉ်

M66 2025-06-03

Debugging သည် PHP applications များကိုထုတ်လုပ်ခြင်းနှင့် MySQL database များနှင့်အပြန်အလှန်ဆက်သွယ်ခြင်းလုပ်ငန်းစဉ်တွင်မရှိမဖြစ်လိုအပ်သော link တစ်ခုဖြစ်သည်။ Debugging ကိရိယာများနှင့်မှတ်တမ်းများသည်အထူးသဖြင့်ဆက်သွယ်မှုပြ problems နာများကိုရှာဖွေခြင်း, MySQLI :: Debug (ဥပမာ debug) ကို အသုံးပြု. MySQLI :: Debug (ဥပမာ Debug Logues တို့တွင်အဓိကဖော်ပြထားသည်။ developer များဒေတာဘေ့စ်၏လည်ပတ်မှုကိုနားလည်ရန်သူတို့ကူညီနိုင်သော်လည်း၎င်းတို့သည်သူတို့၏ရည်ရွယ်ချက်, ယန္တရားနှင့်အသေးစိတ်အတွက်ကွဲပြားသည်။

1 ။ MySQLI :: Debug ကိုမိတ်ဆက်နိဒါန်း

MySQLI :: Debug () Debug () သည် PHP MySQLI extension မှထောက်ပံ့ပေးသော static method ဖြစ်သည်။ PHPS ဇာတ်ညွှန်းနှင့် MySQL databasases များအကြားအသေးစိတ်ဆက်သွယ်မှုကိုခြေရာခံရန်လူနာအဆင့်ကို debugging function များကို enable လုပ်ရန်ခွင့်ပြုသည်။ ဤ debugging သတင်းအချက်အလက်ကို client (i.E. PHP အင်ဂျင်) မှထုတ်လုပ်သည်။ ဒေတာဘေ့စ်ဆာဗာမဟုတ်ပါ။

အသုံးပြုမှုဥပမာ -

 <?php
// ယာယီဖိုင်များအတွက် Debug logging ကိုဖွင့်ပါ
mysqli::debug("d:t:O,/tmp/client_trace.log");

$mysqli = new mysqli("localhost", "user", "password", "database");

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

$result = $mysqli->query("SELECT * FROM users WHERE email LIKE '%@m66.net%'");

while ($row = $result->fetch_assoc()) {
    print_r($row);
}

$mysqli->close();
?>

အဓိကလုပ်ဆောင်ချက်များနှင့်အားသာချက်များ:

  • Record Client Call stack - PHP clients ၏အပြုအမူကိုဒေတာဘေ့စ်သို့ခေါ်ဆိုခြင်းမပြုမီနှင့်ပြီးနောက်ကိုကြည့်ရှုနိုင်သည်။

  • ဆာဗာ configuration မလိုအပ်ပါ ။ ဆာဗာခွင့်ပြုချက်လိုအပ်ချက်များနည်းပါးပြီး,

  • ချိတ်ဆက်မှုပြ problems နာများကိုဖြေရှင်းရန်သင့်တော်သည် - ထိုကဲ့သို့သောမအောင်မြင်သောဆက်သွယ်မှု,

ကန့်သတ်ချက် -

  • PHP client ၏အပြုအမူကိုသာ MySQL အတွင်းကွပ်မျက်မှုအသေးစိတ်ကိုချန်လှပ်ထားသည်။

  • MySQLI မှတစ်ဆင့်လုပ်ဆောင်ရသည့်လုပ်ငန်းများကိုခြေရာခံနိုင်ပြီး PDO သို့မဟုတ် MySQLND ကဲ့သို့သောအခြားသူများမှာမူမမှန်ကန်ပါ။

2 ။ MySQL ဒေသခံ Debug Logues (ဥပမာ General_log နှင့်နှေးကွေးခြင်း)

MySQL ဆာဗာကိုယ်တိုင်ကဒေတာဘေ့စ်၏လည်ပတ်မှုကိုမှတ်တမ်းတင်ရန်သစ်ထုတ်လုပ်ရေးယန္တရားကိုထောက်ပံ့ပေးသည်။ သူတို့ထဲမှ General_log နှင့် နှေးကွေးခြင်း

  • General_log : မှတ်တမ်းများအားလုံးသည် SQL ထုတ်ပြန်ချက်များအားလုံးကိုမှတ်တမ်းတင်ထားသည်။

  • နှေးကွေးသော qued_query_log : ကွပ်မျက်ချိန်သည်သတ်မှတ်ထားသောတံခါးခုံထက်ကျော်လွန်သောနှေးကွေးသောမေးမြန်းချက်များကိုမှတ်တမ်းတင်ထားသည်။

OpenOne မှတ်တမ်းဥပမာ:

 -- ဖွင့်လှစ် general_log
SET global general_log = 1;
SET global general_log_file = '/var/log/mysql/general.log';

-- ဖွင့်လှစ်慢查询日志
SET global slow_query_log = 1;
SET global slow_query_log_file = '/var/log/mysql/slow.log';
SET global long_query_time = 2; -- စံချိန်ကွပ်မျက်ကျော်လွန် 2 ဒုတိယအချက်

အဓိကလုပ်ဆောင်ချက်များနှင့်အားသာချက်များ:

  • အသေးစိတ်အချက်အလက်များကိုအသေးစိတ်ဖော်ပြထားသည် - Query အပြုအမူကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်မမှန်ကန်သောမေးမြန်းချက်များကိုဖော်ထုတ်ရန်သင့်တော်သည်။

  • Database စွမ်းဆောင်ရည်ကိုအကောင်းဆုံးဖြစ်စေရန်ကူညီသည်

  • စွမ်းဆောင်ရည်ခွဲခြမ်းစိတ်ဖြာခြင်းကိရိယာများနှင့်ပေါင်းစည်းနိုင်ပါသည် ။ ဥပမာ PT-query-digest, mySQL workbench အဖြစ်။

ကန့်သတ်ချက် -

  • ဒေတာဘေ့စ်အုပ်ချုပ်ရေးမှူးခွင့်ပြုချက်လိုအပ်သည်။

  • အထူးသဖြင့် General_log ကို ဖွင့်သောအခါစွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။

3 ။ သူတို့ရဲ့နှိုင်းယှဉ်ခြင်းနှင့်အကြံပြုထားသောအသုံးပြုမှုအခြေအနေများ

အင်္ဂါရပ်များ / ကိရိယာများ MySQLI :: Debug () MySQL ဒေသခံ Debug Log
တည်ရှိမှု PHP client ကို MySQL server ဘေး
Recordable အကြောင်းအရာ client function ခေါ်ဆိုမှုများ, ဆက်သွယ်မှုအသေးစိတ်အချက်အလက်များ SQL ထုတ်ပြန်ချက်ဆိုင်ရာမှတ်တမ်းများ, နှေးကွေးသောစုံစမ်းမှု
ခွင့်ပြုချက်လိုအပ်ချက်များ enable နိမ့်သော မြင့်မားသော (ဆာဗာခွင့်ပြုချက်လိုအပ်သည်)
စွမ်းဆောင်ရည်သက်ရောက်မှု အလွန်နိမ့် အလယ်အလတ်အထိမြင့်မားသော (log type ပေါ် မူတည်. )
အကြံပြုထားသောအသုံးပြုမှုအခြေအနေများ PHP Side Debugging နှင့်ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင် ဒေတာဘေ့စ်စွမ်းဆောင်ရည်ခွဲခြမ်းစိတ်ဖြာခြင်း, ထုတ်လုပ်မှုပတ်ဝန်းကျင်မှတ်တမ်းတင်ခြင်း

အကျဉ်းချုပ်

MySQLI :: Debug () Debugging PHP application development ၏ debugging phase အတွက်ပိုမိုသင့်တော်သည်။ MySQL ၏ဒေသခံ Debug Logs များသည်ဆာဗာဘေးထွက် SQL Execution အသေးစိတ်ကိုပိုမိုအာရုံစိုက်စေပြီးဒေတာဘေ့စ်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်နှင့်ပြ problems နာများ၏အကြောင်းအရင်းကိုရှာဖွေခြင်းအတွက်အထူးအရေးကြီးသည်။

စံပြဖွံ့ဖြိုးတိုးတက်မှုအတွက် (Debug) ကိုသုံးရန်အကောင်းဆုံးနည်းလမ်းမှာ MySQLI :: Debug (Debug (Debug) ကို အသုံးပြု. MySQL ကိုစမ်းသပ်ခြင်းသို့မဟုတ်ထုတ်လုပ်မှုပတ် 0 န်းကျင်ကိုဖွင့်နိုင်သည့် log system ပေါ်တွင်အသေးစိတ်လေ့လာခြင်းဖြစ်သည်။ ၎င်းသည် 0 န်ဆောင်မှုခံယူသူမှ 0 န်ဆောင်မှုခံယူသူမှဖြည့်ဆည်းပေးနိုင်ပြီးပြ problem နာအနေအထား၏ထိရောက်မှုကိုများစွာတိုးတက်စေသည်။