PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည် MySQL ဒေတာဘေ့စ်၏လုပ်ငန်းများကိုဖျက်သိမ်းရန်လိုအပ်လေ့ရှိသည်။ MySQLI :: Debug သည် သတင်းအချက်အလက်များကိုထုတ်လွှင့်ခြင်းအားထုတ်ဖော်နိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ MySQLI :: Debug Debug မှ အချက်အလက်များကို debrapher သို့မဟုတ် console သို့ debug လုပ်ရန် debugge debug ကို debuggught လုပ်ပါ။ တခါတရံတွင်ကျွန်ုပ်တို့သည်နောင်အနာဂတ်တွင်ပိုမိုလွယ်ကူစွာပြ troubl နာဖြေရှင်းခြင်းနှင့်ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်ဝေးလံခေါင်သီသောမှတ်တမ်းဆာဗာသို့ဤအချက်အလက်ကိုသိမ်းဆည်းရန်လိုအပ်သည်။
MySQLI :: Debug output ကို Remote log server သို့မည်သို့မှတ်တမ်းတင်နိုင်မည်ကိုအသေးစိတ်ရှင်းပြပါမည်။ တိကျသောအကောင်အထည်ဖော်မှုဖြစ်စဉ်ကိုပြသရန်ကုဒ်များဥပမာများကိုအသုံးပြုပါ။
MySQLI :: Debug သည် MySQL ၏ debugging function ကို enable လုပ်ရန် PHP ရှိနည်းလမ်းတစ်ခုဖြစ်သည်။ SQL ထုတ်ပြန်ချက်များ, ကွပ်မျက်ရေးအချိန်,
အသုံးပြုမှုဥပမာ:
mysqli::debug("d:t:o,/tmp/mysql_trace.log");
အထက်ဖော်ပြပါကုဒ်သည် MySQL ၏ debugging function ကို enable လုပ်ပြီး debugging အချက်အလက်များကိုသတ်မှတ်ထားသောဖိုင် ( /tmp/mysql_trace.log ) သို့သိမ်းဆည်းပါလိမ့်မည်။
Remote Log Server သို့ Debug သတင်းအချက်အလက်ပေးပို့ရန်အတွက်၎င်းကိုအောက်ပါနည်းလမ်းများဖြင့်အကောင်အထည်ဖော်နိုင်သည်။
PHP ၏ Error_log function သည်သတ်မှတ်ထားသောဖိုင်သို့အမှားအယွင်းများသို့မဟုတ် debug အချက်အလက်များကိုရေးသားနိုင်ရန်သို့မဟုတ်ကွန်ယက်ပေါ်တွင်မှတ်တမ်းဆာဗာသို့ပို့နိုင်သည်။ MySQLI :: debug မှ debug သတင်းအချက်အလက် output ကို သုံး. debug ကို error_log function မှတဆင့်ဝေးလံခေါင်သီသောမှတ်တမ်းဆာဗာသို့ပို့နိုင်သည်။
နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
// Debug Mode ကိုသတ်မှတ်ပါ
mysqli::debug("d:t:o,/tmp/mysql_trace.log");
// ဝေးလံခေါင်သီသောမှတ်တမ်းဆာဗာသို့ output ကို debug အချက်အလက်
function log_to_remote_server($message) {
$url = 'http://m66.net/log_receiver'; // ဝေးလံသောမှတ်တမ်းဆာဗာ၏ reception ည့်ခံကြောင်းယူဆ URL
$data = ['log' => $message];
// အသုံးပြု cURL Remote ဆာဗာသို့မှတ်တမ်းများပို့ပါ
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// တောင်းဆိုမှုကို execute နှင့်တုံ့ပြန်မှုရယူပါ
$response = curl_exec($ch);
curl_close($ch);
// လိုအပ်ရင်,အဆိုပါတုံ့ပြန်မှုလုပ်ငန်းများ၌နိုင်ပါတယ်
if ($response) {
echo "မှတ်တမ်းကို Remote server သို့အောင်မြင်စွာပို့ခဲ့သည်。\n";
} else {
echo "မှတ်တမ်းပို့ရန်မအောင်မြင်ပါ。\n";
}
}
// အဝေးမှဆာဗာသို့ debug အချက်အလက်ပေးပို့ရန် function ကိုခေါ်ခြင်း
log_to_remote_server("ဤသည် debug သတင်းအချက်အလက်ဥပမာတစ်ခုဖြစ်သည်");
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် http://m66.net/log_receiver သို့ http://m66.net/log_receiver သို့ ပို့ပေးပါ။ အမှန်တကယ်အခြေအနေနှင့်အညီဝေးလံသောမှတ်တမ်းဆာဗာနှင့်ကူးစက်သောအချက်အလက်ပုံစံ၏ URL ကိုသင်ပြုပြင်နိုင်သည်။
အကယ်. သင်သည် log collection tools များကိုသုံးပါကသင်၏ system ပေါ်တွင် Log Copy, GrayLog, GrayLog စသည်တို့ကဲ့သို့) သင်၏ system ပေါ်တွင်သင်ဤကိရိယာများမှတစ်ဆင့် Remote ဆာဗာသို့မှတ်တမ်းအချက်အလက်များကိုပေးပို့နိုင်သည်။ များသောအားဖြင့်၎င်းသည်သက်ဆိုင်ရာ log collection 0 န်ဆောင်မှုကို MySQLI :: Debug မှမှတ်တမ်းတင်ခြင်းဆိုင်ရာသတင်းအချက်အလက်ထုတ်လုပ်မှုကို အသုံးပြု. ရှေ့သို့တင်ခြင်းပါဝင်သည်။
ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် log collection tool တစ်ခုကို configure လုပ်ထားပြီးပါပြီဆိုပါစို့, အောက်ပါတို့မှမှတ်တမ်းများကို file_put_Contents မှတစ်ဆင့်ဖိုင်တစ်ခုသို့ရေးရန်ကုဒ်နံပါတ်ဖြစ်သည်။
<?php
// Debug Mode ကိုဖွင့်ပါ
mysqli::debug("d:t:o,/tmp/mysql_trace.log");
// မှတ်တမ်းများကိုဖိုင်တစ်ခုသို့ရေးပါ
function write_log_to_file($message) {
$logFile = '/var/log/php_debug.log';
file_put_contents($logFile, $message . PHP_EOL, FILE_APPEND);
}
// ဖိုင်ရှိမှတ်တမ်းအကြောင်းအရာများကိုဝေးလံခေါင်သီသော log collection server သို့ပို့ပါ
function send_log_to_server($logFile) {
$url = 'http://m66.net/log_receiver'; // ဝေးလံခေါင်သီသောမှတ်တမ်းဆာဗာကိုယူဆပါ URL
$logData = file_get_contents($logFile);
// အသုံးပြု cURL Remote ဆာဗာသို့မှတ်တမ်းများပို့ပါ
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['log' => $logData]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if ($response) {
echo "မှတ်တမ်းကို Remote Log Server သို့အောင်မြင်စွာပို့သည်。\n";
} else {
echo "မှတ်တမ်းပို့ရန်မအောင်မြင်ပါ。\n";
}
}
// မှတ်တမ်းများရေးပြီးပို့ပါ
write_log_to_file("ဤသည် debug မှတ်တမ်းသတင်းအချက်အလက်ဖြစ်ပါတယ်");
send_log_to_server('/var/log/php_debug.log');
?>
ဤဥပမာတွင် log ကို local file သို့ပထမဆုံးရေးသားပြီး curl မှတဆင့်ဝေးလံခေါင်သီသော log collection server သို့ပို့သည်။
MySQLI :: Remote log server သို့ logging logging debug output သည်အထူးသဖြင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်ဒေတာဘေ့စ်ပြ issues နာများကို debing လုပ်သည့်အခါအလွန်အသုံးဝင်သောလှည့်ကွက်တစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည်၎င်းကို PHP ၏ ဆံပင်ကောက်ကောက် function ကိုသို့မဟုတ် log collection tool မှတဆင့်အလွယ်တကူအောင်မြင်နိုင်သည်။ ဤဆောင်းပါးတွင်အကောင်အထည်ဖော်ခြင်းဥပမာများကဤဆောင်းပါးတွင်အကောင်အထည်ဖော်ခြင်းဥပမာများသည်သင့်အားဝေးလံသောမှတ်တမ်းဆာဗာသို့သတင်းအချက်အလက်များကိုမည်သို့ပို့ရမည်ကိုပိုမိုနားလည်ရန်ကူညီလိမ့်မည်ဟုမျှော်လင့်ပါသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli