Debugging သည် PHP applications များကိုထုတ်လုပ်ခြင်းနှင့် MySQL database များနှင့်အပြန်အလှန်ဆက်သွယ်ခြင်းလုပ်ငန်းစဉ်တွင်မရှိမဖြစ်လိုအပ်သော link တစ်ခုဖြစ်သည်။ Debugging ကိရိယာများနှင့်မှတ်တမ်းများသည်အထူးသဖြင့်ဆက်သွယ်မှုပြ problems နာများကိုရှာဖွေခြင်း, MySQLI :: Debug (ဥပမာ debug) ကို အသုံးပြု. MySQLI :: Debug (ဥပမာ Debug Logues တို့တွင်အဓိကဖော်ပြထားသည်။ developer များဒေတာဘေ့စ်၏လည်ပတ်မှုကိုနားလည်ရန်သူတို့ကူညီနိုင်သော်လည်း၎င်းတို့သည်သူတို့၏ရည်ရွယ်ချက်, ယန္တရားနှင့်အသေးစိတ်အတွက်ကွဲပြားသည်။
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 ကဲ့သို့သောအခြားသူများမှာမူမမှန်ကန်ပါ။
MySQL ဆာဗာကိုယ်တိုင်ကဒေတာဘေ့စ်၏လည်ပတ်မှုကိုမှတ်တမ်းတင်ရန်သစ်ထုတ်လုပ်ရေးယန္တရားကိုထောက်ပံ့ပေးသည်။ သူတို့ထဲမှ General_log နှင့် နှေးကွေးခြင်း ။
General_log : မှတ်တမ်းများအားလုံးသည် SQL ထုတ်ပြန်ချက်များအားလုံးကိုမှတ်တမ်းတင်ထားသည်။
နှေးကွေးသော qued_query_log : ကွပ်မျက်ချိန်သည်သတ်မှတ်ထားသောတံခါးခုံထက်ကျော်လွန်သောနှေးကွေးသောမေးမြန်းချက်များကိုမှတ်တမ်းတင်ထားသည်။
-- ဖွင့်လှစ် 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 ကို ဖွင့်သောအခါစွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်နိုင်သည်။
အင်္ဂါရပ်များ / ကိရိယာများ | 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 နာအနေအထား၏ထိရောက်မှုကိုများစွာတိုးတက်စေသည်။