PHP Development တွင် MySQLI :: Debug (Debug) သည် developers များကသတိမမူမိသော debugging tool တစ်ခုဖြစ်သည်။ MySQLI extensions အတွက် Debug Logs ကို log လုပ်ရန်ခွင့်ပြုထားပြီးဒေတာဘေ့စ်ဆက်သွယ်မှုများ, MySQLI :: Debug () debug () debug ကိုပေါင်းစပ်ရန်ဤဆောင်းပါးသည်နက်နဲပိုင်းတွင်လေ့လာလိမ့်မည်။
MySQLI :: Debug () Debug သည် MySQLI extension တွင် static method တစ်ခုဖြစ်သည်။ ၎င်းကိုအောက်ပါအတိုင်းအသုံးပြုသည် -
mysqli::debug("d:t:o,/tmp/client.trace");
ဒီ command ရဲ့အဓိပ္ပာယ်ကတော့
D : သတင်းအချက်အလက်များကိုထုတ်ပြန်ခြင်း
T : timestamp ထည့်ပါ
o, / TMP / client.trace : output ကိုသတ်မှတ်ထားသော log file သို့ output ကိုရေးသည်
သို့သော်သတိပြုပါ - MySQLI :: Debug () Debug () debug () ကို ဒေတာ ဘေ့စ် connection မတည်ဆောက်မီဟု ခေါ်ရမည်။
အလိုအလျောက်အလုပ်များ (ဥပမာအချက်အလက်များထပ်တူပြုခြင်း, အသုတ်အချက်အလက်ပြုပြင်ခြင်းစသဖြင့်) တွင် script operating စဉ်အတွင်းဒေတာဘေ့စ်၏အပြုအမူကိုခြေရာခံရန်လိုအပ်သည်။ MySQLI :: Debug (Debug () ကိုပေါင်းစည်းခြင်း () Debug () သည် အောက်ပါအားသာချက်များကိုယူဆောင်လာနိုင်သည်။
Backtracking: DataTracking : ဒေတာထပ်တူပြုခြင်းသည်ပျက်ကွက်ခြင်းသို့မဟုတ်ခြွင်းချက်တစ်ခုဖြစ်ပွားသည့်အခါပြ problem နာကို Log မှတစ်ဆင့်လျင်မြန်စွာတည်ရှိနိုင်သည်။
စွမ်းဆောင်ရည်အကောင်းမြင် - အချိန်ကုန်ခြင်းနှင့်အကောင်းမြင်ရန်အထောက်အကူပြုသည်။
Debugging ထိရောက်မှုကိုတိုးတက်စေခြင်း - အလားအလာရှိသောဆက်သွယ်မှုသို့မဟုတ်မေးမြန်းမှုပြ problems နာများကိုပိုမိုမြန်ဆန်စွာရှာဖွေပါ။
MySQLI :: Debug ကို မည်သို့ပေါင်းစပ်ရမည်ကိုပြသသည့်ရိုးရှင်းသောအလိုအလျောက် scription ဥပမာတစ်ခု
<?php
// စွမ်းဆောင်နိုင်စေ MySQLi Debug log,log ဖိုင်လမ်းကြောင်းများကိုပုံမှန်လှည့်ရန်သို့မဟုတ်သန့်ရှင်းရေးပြုလုပ်ရန်အကြံပြုပါသည်
mysqli::debug("d:t:o,/var/log/mysqli_debug.log");
// ဒေတာဘေ့စ် connection configuration ကို
$host = 'localhost';
$user = 'your_user';
$password = 'your_password';
$database = 'your_database';
// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$mysqli = new mysqli($host, $user, $password, $database);
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
error_log("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
exit;
}
// ဒေတာဘေ့စစစ်ဆင်ရေးကိုတုပပါ
$query = "SELECT * FROM users WHERE status = 'active'";
$result = $mysqli->query($query);
if ($result) {
while ($row = $result->fetch_assoc()) {
// ဤနေရာတွင်သင်လိုအပ်သည့်လုပ်ဆောင်မှုဆိုင်ရာယုတ္တိဗေဒကိုလုပ်ဆောင်နိုင်သည်
echo "အသုံးပြုသူ:" . $row['username'] . "\n";
}
$result->free();
} else {
error_log("စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error);
}
$mysqli->close();
?>
ပုံမှန်မှတ်တမ်းစုဆောင်းခြင်းကို ရရှိရန်အတွက် operating system ၏ cron သို့မဟုတ်စီစဉ်ထားသည့်လုပ်ငန်းများကိုပေါင်းစပ်ရန်အကြံပြုသည်။
# logs ဟောင်းများကိုသန့်ရှင်းရေးနှင့်နံနက်တိုင်း log collection ကိုပြန်လည်စတင်ပါ
0 0 * * * rm -f /var/log/mysqli_debug.log
Log Rotation နှင့် retention မူဝါဒများကိုအကောင်အထည်ဖော်ရန် Logrotate ကိုလည်းအသုံးပြုနိုင်သည်။
ဖြန့်ဖြူးထားသောပတ်ဝန်းကျင်တွင် logs များကို Remote ဆာဗာများသို့ပုံမှန်တင်နိုင်သည်။
$logFile = '/var/log/mysqli_debug.log';
$remote = 'https://m66.net/api/upload_log';
if (file_exists($logFile)) {
$logData = file_get_contents($logFile);
$response = file_get_contents($remote . '?token=YOUR_TOKEN', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-type: application/x-www-form-urlencoded",
'content' => http_build_query(['log' => $logData])
]
]));
}
MySQLI :: Debug () Debug () ကို ထုတ်လုပ်မှုပတ် 0 န်းကျင်အချို့တွင်မသန်မစွမ်းဖြစ်အောင်လုပ်ခြင်းနှင့်ဖြန့်ကျက်ခြင်းမပြုမီအတည်ပြုရန်လိုအပ်သည်။
ကျေးဇူးပြု. မှတ်တမ်းဖိုင်သည်ခွင့်ပြုချက်ပြ issues နာများကြောင့်ရှုံးနိမ့်မှုများကိုရှောင်ကြဉ်ရန်အရေးအကြီးဆုံးခွင့်ပြုချက်ကိုသေချာစွာစစ်ဆေးပါ။
Log Content တွင်အထိခိုက်မခံသောသတင်းအချက်အလက်များပါ 0 င်နိုင်သည်။
MySQLI :: Debug () debug () debug () ကို အလိုအလျောက် script များဖြင့်ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှင်းလင်းသောဒေတာဘေ့စ်၏အပြုအမူမှတ်တမ်းများကိုရရှိနိုင်ပါသည်။ Timed Tasks နှင့် Log Rotation နည်းဗျူဟာများကိုပေါင်းစပ်ရန်အတွက်ဤကိရိယာ၏ထိရောက်မှုကိုတိုးမြှင့်စေရန်ဤကိရိယာ၏ထိရောက်မှုကိုတိုးမြှင့်နိုင်ရန်အတွက် PHP developer တိုင်းသည်ထိန်းသိမ်းထားနိုင်သည့် PHP developer တိုင်းသည်လျစ်လျူရှုခြင်းကိုလျစ်လျူရှုခြင်းမပြုနိုင်ပါ။