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

မှတ်တမ်းဖိုင်သည်အလွန်ကြီးလွန်းပါသလား။ MySQLI :: Debug Resource စီမံခန့်ခွဲမှုအကြံပြုချက်များကိုအသုံးပြုခြင်း

M66 2025-06-02

debugging and logging များသည် PHP application များဖွံ့ဖြိုးတိုးတက်ရေးအတွက်အလွန်အရေးကြီးသောအစိတ်အပိုင်းဖြစ်သည်။ အထူးသဖြင့်ဒေတာဘေ့စ်များကိုအသုံးပြုခြင်း၏မြင်ကွင်းတွင်, MySQLI :: Debug သည် အသေးစိတ်အချက်အလက်များကိုမှတ်တမ်းတင်ခြင်းအားဖြင့်အသေးစိတ်အချက်အလက်များကိုမှတ်တမ်းတင်ခြင်းအားဖြင့်အသေးစိတ်အချက်အလက်များကိုမှတ်တမ်းတင်ရန်ကူညီနိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။

ဤဆောင်းပါးတွင် MySQLI :: Debug ကို မည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည်။

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

MySQLI :: Debug သည် debug mode ကိုဖွင့်ရန်နှင့်ဒေတာစီဆက်သွယ်မှုအားလုံးအတွက်သတင်းအချက်အလက်များကိုမှတ်တမ်းတင်ရန်အသုံးပြုနိုင်သည့် MySQLI extension တွင် mySQLI extension တွင်နည်းလမ်းဖြစ်သည်။ MySQL ဒေတာဘေ့စ်သို့ပို့သောမေးမြန်းချက်အားလုံးကိုရှာဖွေရန်သင့်အားခွင့်ပြုသည်, စုံစမ်းမှုနှင့်ဆက်စပ်သောအမှားအချက်အလက်များ၏ကွပ်မျက်မှုအခြေအနေကိုရယူပြီးဒေတာဘေ့စ်ဆက်သွယ်မှုလုပ်ငန်းစဉ်အတွင်းပြ problems နာများကိုပင်ရိုက်ကူးနိုင်သည်။

မည်သို့အသုံးပြုရမည်နည်း

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

// Debug Mode ကို Enable လုပ်ပါ
$mysqli->debug("d:t");

// ကရိယာတန်းဆာ SQL မေးမြန်း
$result = $mysqli->query("SELECT * FROM users");

// Debug Mode ကိုပိတ်ပါ
$mysqli->debug("t");

2 ။ အရင်းအမြစ်များကို debugging စီမံခန့်ခွဲနည်း

MySQLI :: Debug သည် အလွန်အသေးစိတ် debugging သတင်းအချက်အလက်များကိုထောက်ပံ့ပေးသော်လည်းဖွံ့ဖြိုးရေးနှင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်များတွင် debugging mode ကိုအမြဲတမ်းဆက်ထိန်းထားနိုင်ခြင်းမရှိပါ။

Debug switch ကိုထိန်းချုပ်ရန်အခြေအနေတရားသဖြင့်စီရင်ခြင်းကိုသုံးပါ

ကွဲပြားခြားနားသောပတ်ဝန်းကျင်နှင့်အညီ debugging function ကို enable ဖို့ရှိမရှိထိန်းချုပ်နိုင်ပါတယ်။ ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်တွင် debugging ကိုပြုလုပ်နိုင်သည်, ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင်မှတ်တမ်းများကိုထုတ်လုပ်ခြင်းကိုရှောင်ရှားရန် Debugging ကိုပိတ်ထားသင့်သည်။

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

// လက်ရှိပတ်ဝန်းကျင်သည်ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်ဖြစ်သည်ကိုဆုံးဖြတ်ပါ
if ($_SERVER['APP_ENV'] === 'development') {
    $mysqli->debug("d:t"); // Debug Mode ကိုဖွင့်ပါ
} else {
    $mysqli->debug("t"); // Debug Mode ကိုပိတ်ပါ
}

3 ။ LOGE အရွယ်အစားစီမံခန့်ခွဲမှု

အလွန်အကျွံ log files များကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် log ၏အရွယ်အစားကိုကန့်သတ်ရန်နည်းဗျူဟာများကိုပေါင်းစပ်ရန်နည်းဗျူဟာများကိုပေါင်းစပ်နိုင်သည်။

ဥပမာ - မှတ်တမ်းများကိုအချိန်အားဖြင့်ဖြတ်တောက်ပါ

Log form ၏အရွယ်အစားကို အခြေခံ. မှတ်တမ်းများကို ဖြတ်. မှတ်တမ်းများကိုဖြတ်နိုင်သည်။

 $logFile = __DIR__ . '/logs/mysql_debug_' . date('Y-m-d') . '.log';

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

// debugging and debug သတင်းအချက်အလက်ကိုသတ်မှတ်ထားသောမှတ်တမ်းဖိုင်သို့ Enable လုပ်ပါ
$mysqli->debug("d:t:" . $logFile);

// ကရိယာတန်းဆာ SQL မေးမြန်း
$result = $mysqli->query("SELECT * FROM users");

ဤနည်းအားဖြင့်နေ့စဉ်မှတ်တမ်းဖိုင်အသစ်ကိုနေ့တိုင်းထုတ်လုပ်လိမ့်မည်။ ဖိုင်အမည်တွင်လက်ရှိ log file size ကိုရှောင်ရှားရန်လက်ရှိရက်စွဲပါလိမ့်မည်။

ဥပမာ - ဖိုင်အရွယ်အစားဖြင့်မှတ်တမ်းများကိုဖြတ်တောက်ပါ

log file size by log လုပ်လိုပါကဖိုင်အရွယ်အစားကိုရှာဖွေရန်နှင့်ဖြတ်ရန်ဖိုင်လည်ပတ်မှု function ကိုသုံးနိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 $logFile = __DIR__ . '/logs/mysql_debug.log';

// မှတ်တမ်းဖိုင်အရွယ်အစားကိုစစ်ဆေးပါ
if (filesize($logFile) > 10 * 1024 * 1024) { // ဖိုင်အရွယ်အစားကျော်လွန်လျှင် 10MB
    rename($logFile, __DIR__ . '/logs/mysql_debug_' . time() . '.log'); // Old Nisshi အမည်ပြောင်း
}

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

// ဖိုင်များကိုမှတ်တမ်းတင်ရန် debug သတင်းအချက်အလက်ကို debugging နှင့်ရေးရန် Enable လုပ်ပါ
$mysqli->debug("d:t:" . $logFile);

// ကရိယာတန်းဆာ SQL မေးမြန်း
$result = $mysqli->query("SELECT * FROM users");

4 ။ URL အစားထိုး: အထိခိုက်မခံတဲ့အချက်အလက်တွေကိုကာကွယ်ပါ

Debugging လုပ်နေစဉ်အတွင်းတွင် log file တွင်ဒေတာဘေ့စ်မေးမြန်းချက်များအတွက် URLs သို့မဟုတ်အခြားအထိခိုက်မခံသောသတင်းအချက်အလက်များပါဝင်နိုင်သည်။ ဤကိစ္စတွင်အထိခိုက်မခံသောအချက်အလက်များကိုပေါက်ကြားခြင်းမှကာကွယ်ရန် Code မှတဆင့်ဒိုမိန်းအမည်အပိုင်းကိုအစားထိုးနိုင်သည်။

ဥပမာ, မှတ်တမ်းတွင်ဤကဲ့သို့သော url ပါရှိသည်ဆိုပါစို့။

 $logMessage = "Request to http://example.com/api/data at " . date('Y-m-d H:i:s');

Domain Name အပိုင်းကို M66.NET နှင့်အတူအောက်ပါအတိုင်းအစားထိုးနိုင်သည်။

 $logMessage = "Request to http://m66.net/api/data at " . date('Y-m-d H:i:s');

ပြည့်စုံဥပမာ

 $logFile = __DIR__ . '/logs/mysql_debug.log';
$mysqli = new mysqli("localhost", "username", "password", "database");

// Debug Mode ကို Enable လုပ်ပါ
$mysqli->debug("d:t:" . $logFile);

// ကရိယာတန်းဆာ SQL မေးမြန်း
$query = "SELECT * FROM users WHERE email = 'user@example.com'";
$query = str_replace("example.com", "m66.net", $query); // ပြန်လည်နေရာချ URL

$result = $mysqli->query($query);

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အမှန်တကယ်အထိခိုက်မခံသော URL domain name ကို log တွင်မထိတွေ့နိုင်အောင်သေချာစေနိုင်သည်။

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

MySQLI :: Debug သည်အစွမ်းထက် debugging tool တစ်ခုဖြစ်သည်။ သို့သော်မထိန်းချုပ်နိုင်ပါကစနစ်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေရန်အလွန်အကျွံ log files များကိုဖြစ်စေနိုင်သည်။ code တွင် debugging function များကို bugging function များကို debugging function များကို enable လုပ်ခြင်းသို့မဟုတ်ပိတ်ခြင်းအားဖြင့်မှတ်တမ်းများကိုဖြတ်တောက်ခြင်းနှင့်မှတ်တမ်းများတွင်အထိခိုက်မခံသောအချက်အလက်များကိုပြုပြင်ခြင်းဖြင့်ကျွန်ုပ်တို့သည်အရင်းအမြစ်များကိုအပြီးသတ်လုပ်ဆောင်မှုများနှင့်မှတ်တမ်းတင်ခြင်းများကိုစတင်စီမံနိုင်ပါသည်။