Daily PHP Development တွင် MySQLI :: Debug ကို များသောအားဖြင့်ဒေတာဘေ့စ် connection process နှင့် Execute အသေးစိတ်ကိုကြည့်ရှုရန်အသုံးပြုလေ့ရှိသည်။ Debugging ၏ အစောပိုင်းအဆင့်တွင်လုံလောက်သည်, ထို့ကြောင့် ဤဆောင်းပါးသည် MySQLI :: Debugging tool မှပိုမိုကောင်းမွန်သောအသွင်ကူးပြောင်းမှုကိရိယာများမှပိုမိုချောမွေ့စွာကူးပြောင်းရန်မည်သို့ချောချောမွေ့မွေ့ကူးပြောင်းနိုင်မည်နည်းအားဖြင့်သင့်အားယူပါ ။
MySQLI :: Debug (Debug) ၏လုပ်ဆောင်ချက်သည်အတော်လေးရိုးရှင်းပါသည်။ ၎င်းသည် MySQL 0 န်ဆောင်မှုခံယူသူစာကြည့်တိုက်အဆင့်တွင် Debug သတင်းအချက်အလက် output ကိုသာအသုံးပြုသည်။ ၎င်းသည်ဆက်သွယ်မှုနှင့်ကွပ်မျက်ခြင်းကဲ့သို့သောအဆင့်နိမ့်အချက်အလက်များကိုမှတ်တမ်းတင်ရန်အသုံးပြုသည်။
SQL ကွပ်မျက်အချိန်ကိုမပေးပါ ။
စီးပွားရေးယုတ္တိဗေဒနှင့်ကိုက်ညီရန်မလွယ်ကူ ;
output ပါဝင်သည့်အကြောင်းအရာသည်ရှုပ်ထွေးပြီးခွဲခြမ်းစိတ်ဖြာရန်ခက်ခဲသည် ,
ခေါ်ဆိုမှု stack သို့မဟုတ်မှတ်ဉာဏ်အသုံးပြုမှုကိုအလိုအလျောက်ခြေရာခံ။ မရပါ ။
နမူနာကုဒ်:
mysqli::debug("d:t:o,/tmp/client.trace");
$db = new mysqli("localhost", "user", "password", "dbname");
၎င်းသည် /tmp/Cletient.trace မှ output ကိုဖြစ်နိုင်သော်လည်းစာဖတ်ခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းသည်မတတ်နိုင်ပါ။
XDebug သည် PHP ၏အင်အားအကြီးဆုံး debugging extension များထဲမှတစ်ခုဖြစ်သည်။ ၎င်းသည် breakpoint debugging ူမန်မိာိုံင်ငံ,
pecl install xdebug
ထို့နောက် php.ini တွင်ထည့်ပါ။
zend_extension=xdebug
xdebug.mode=develop,trace,profile
xdebug.output_dir=/tmp
xdebug.mode = ပရိုဖိုင်းကို ဖွင့်ပြီးနောက်တောင်းဆိုမှုတစ်ခုစီသည် .CackreTeapy file ကိုထုတ်လုပ်လိမ့်မည်။ Database Query Functions အပါအ 0 င်ခွဲခြမ်းစိတ်ဖြာလုပ်ဆောင်မှုကိုဖွင့်လှစ်ရန် QCCRCRCRCROGRYM သို့မဟုတ် webgrind ကဲ့သို့သောကိရိယာများကိုသင်အသုံးပြုနိုင်သည်။
$mysqli = new mysqli("localhost", "user", "password", "dbname");
$result = $mysqli->query("SELECT * FROM users WHERE email LIKE '%@m66.net'");
မကြာခဏကွပ်မျက်ခံရသောနှေးကွေးသောရှာဖွေမှုများကိုရှာဖွေခြင်းအတွက်အလွန်သင့်လျော်သောအချိန်ကိုစားသုံးခြင်း, ခေါ်ဆိုမှုတည်နေရာနှင့်အခြားသတင်းအချက်အလက်များကိုသင်ရှင်းရှင်းလင်းလင်းမြင်နိုင်သည် ။
MySQL နှေးကွေးသော Query Log သည်ဒေတာဘေ့စ်၏အတ္ထုပ္ပတ္တိများသည်သတ်မှတ်ထားသောတံခါးခုံများထက် ကျော်လွန်. SQL ထုတ်ပြန်ချက်များကိုမှတ်တမ်းတင်ထားသည့်ဒေတာဘေ့စ်၏ဇာတိလုပ်ဆောင်ချက်ဖြစ်သည်။
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
log_queries_not_using_indexes = 1
တည်ဆောက်ပြီးနောက် MySQL ဝန်ဆောင်မှုကိုပြန်လည်စတင်ပါ။
sudo systemctl restart mysql
MySQLTOPTOPSLOW : လျင်မြန်စွာစုံစမ်းမှုဖြန့်ဖြူးခြင်းအား command line တွင်လျင်မြန်စွာကြည့်ပါ။
PT-query-digest : Percona Toolkit မှပေးထားသောအဆင့်မြင့်ခွဲခြမ်းစိတ်ဖြာမှုကိရိယာများ,
ဝက်ဘ်ကိရိယာများ - သင် https://m66.net/analyze -log သို့ logs များကိုလည်း upload လုပ်နိုင်သည်။
Development Page - ဖုန်းခေါ်ဆိုခြင်းနှင့်ဒေတာဘေ့စ်ခေါ်ဆိုမှုများကိုကြည့်ရှုရန် XDebug ကိုအသုံးပြုပါ။
စမ်းသပ်ခြင်းအဆင့် - စွမ်းဆောင်ရည်နမူနာအတွက် XDebug Profiling mode ကိုဖွင့်;
ထုတ်လုပ်မှုအဆင့် - MySQL နှေးကွေးသောစုံစမ်းမှုမှတ်တမ်းများနှင့် Periodic ခွဲခြမ်းစိတ်ဖြာမှုကိုဖွင့်ပါ။
အလိုအလျောက်မှတ်တမ်းခွဲခြမ်းစိတ်ဖြာ မှု