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

MySQLI :: Debug ကိုအသုံးပြုသည့်အခါ log files များကို log files များကိုဘာကြောင့်ရေးထားရတာလဲ။ ခွင့်ပြုချက်ပြ problem နာကိုဘယ်လိုဖြေရှင်းရမလဲ။

M66 2025-06-12

ဒေတာဘေ့စ် Debugging အတွက် PHP ၏ MySQLI :: Debug function ကို debug function ကို debug function ကို debug information ကို Debug Inform ကို Debug file သို့ရေးနိုင်သည်။ MySQLI :: Debug ကို အသုံးပြုသောအခါ log files files များကိုရေးသားသောပြ problem နာများစွာကိုတီထွင်ဆန့်ကျင်သောပြ are နာများစွာကိုကြုံတွေ့ရသည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏အကြောင်းရင်းများကိုအသေးစိတ်လေ့လာပြီးခွင့်ပြုချက်ပြ problem နာကိုဖြေရှင်းရန်ထိရောက်သောနည်းလမ်းများပေးသည်။

1 ။ MySQLI :: Debug ဆိုတာဘာလဲ။

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

 mysqli::debug("d:t:o:/path/to/logfile.log");

၎င်းတို့အနက် parameter သည် format သည် D: T: O: O: <log file path> , debug output နှင့် log output တည်နေရာကိုသတ်မှတ်ရန်အသုံးပြုသည်။

2 ။ မှတ်တမ်းဖိုင်များမရေးနိုင်သည့်အဘယျသို့အဘယျအကြောင်းများ

MySQLI :: Debug ("D: T: O: o: / овar/Log/mysqlqli_debug.log" debububug.log "Debufug.log" Debufu_debug.log "Debufu_debug.log" debubu_debug.log "deb" သို့သော်မှတ်တမ်းဖိုင်ကိုမရေးသားပါ, အဓိကအကြောင်းရင်းသည်များသောအားဖြင့်ခွင့်ပြုချက်ပြ issues နာများဖြစ်သည်။

  • ဖိုင်ခွင့်ပြုချက်မလုံလောက်ပါ က PHP လုပ်ငန်းခွင်မှအသုံးပြုသောအသုံးပြုသူများသည်ဖိုင်များသို့မဟုတ်လမ်းညွှန်များကိုမှတ်တမ်းတင်ရန်ခွင့်ပြုထားသောအသုံးပြုသူများသည်ခွင့်ပြုချက်မရပါ။

  • Directory သည်မတည်ရှိပါသို့မဟုတ်ခွင့်ပြုချက်မရှိခြင်း - သတ်မှတ်ထားသောမှတ်တမ်းဖိုင်လမ်းညွှန်မရှိပါကသို့မဟုတ် directory perments များသည်ဖိုင်များ၏ဖန်တီးမှုနှင့်ရေးသားခြင်းကိုကန့်သတ်ထားသည်။

  • Selinux သို့မဟုတ် Security Module ကန့်သတ်ချက်များ - Selin Selinux Selinux Selinux, Apparmor ကဲ့သို့သော Selpinux, Apparmor ကဲ့သို့ PHP 0 င်ရောက်ခြင်းကိုကန့်သတ်ထားနိုင်သည်။

  • Pather : log file path ကိုမှားယွင်းစွာရေးသားခြင်းသို့မဟုတ်မှားယွင်းစွာရေးသားထားသောစာလုံးပေါင်းကိုရေးသည်,

3 ။ ခွင့်ပြုချက်ပြ issues နာများကိုစစ်ဆေးပြီးဖြေရှင်းနည်း။

ဤတွင်ဖြေရှင်းချက်ကိုမိတ်ဆက်ရန်ဥပမာတစ်ခုအနေဖြင့် Linux server တစ်ခုဖြစ်သည်။

3.1 မှတ်တမ်းဖိုင်များနှင့်လမ်းညွှန်ခွင့်ပြုချက်များကိုစစ်ဆေးပါ

မှတ်တမ်းဖိုင်လမ်းကြောင်းသည် /var/Log/mysqli_debug.log ဖြစ်သည်ဟုယူဆပါ။

 ls -l /var/log/mysqli_debug.log
ls -ld /var/log/
  • /var/log/mysqli_debug.log ဖိုင်သည်တည်ရှိပြီးရေးသားထားသောခွင့် ပြုချက် ကိုအတည်ပြုပြီး,

  • PS PS PHP လုပ်ငန်းစဉ်၏အသုံးပြုသူမည်သူမည်ဝါဖြစ်ကြောင်း PS AUX မှတစ်ဆင့်အတည်ပြုနိုင်သည့် PS. Data , Apache သို့မဟုတ် Nginx တို့ဖြစ်သည်GREP PHP

3.2 ဖိုင်ခွင့်ပြုချက်သို့မဟုတ် directory permissions ကိုပြုပြင်မွမ်းမံပါ

အကယ်. မှတ်တမ်းဖိုင်မရှိပါက၎င်းကိုသင်ပထမ ဦး ဆုံးဖန်တီးနိုင်သည်။

 sudo touch /var/log/mysqli_debug.log
sudo chown www-data:www-data /var/log/mysqli_debug.log
sudo chmod 664 /var/log/mysqli_debug.log

အကယ်. သင်သည် PHP ကို ​​directory ထဲတွင် log files များကိုဖန်တီးလိုပါက -

 sudo chown www-data:www-data /var/log/
sudo chmod 775 /var/log/

မှတ်ချက် - လုံခြုံရေးအန္တရာယ်များကိုမတားဆီးရန်ခွင့်ပြုချက်ကိုပြုပြင်သည့်အခါသတိထားပါ။

3.3 သင့်တော်သောမှတ်တမ်းဖိုင်လမ်းကြောင်းကိုရွေးချယ်ပါ

များသောအားဖြင့် / var / log / directory သည် system directory နှင့်သက်ဆိုင်သည်။ Log files များကို web server ရေးခွင့်ပြုထားသောလမ်းညွှန်တွင်ရေးရန်ခွင့် ပြုထား သည့်လမ်းညွှန်တွင်နေရာချထားရန်အကြံပြုသည်။

 mysqli::debug("d:t:o:/var/www/html/project/logs/mysqli_debug.log");

Directory နှင့် log file permissions များသည်မှန်ကန်ကြောင်းသေချာပါစေ။

4 ။ နမူနာကုဒ်

MySQLI :: Debug ကို မည်သို့ဖွင့်ရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
// ဖွင့်လှစ်mysqliဆုတ်ဘေါက်,စီမံကိန်းရေးရန်မှတ်တမ်းlogsမာတိကာ
mysqli::debug("d:t:o:/var/www/html/project/logs/m66.net_mysqli_debug.log");

// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli("m66.net", "user", "password", "database");

if ($mysqli->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}

echo "အောင်မြင်စွာဆက်သွယ်မှု";

// ဆက်သွယ်မှုကိုပိတ်ပါ
$mysqli->close();
?>

/ var / www / www / html / project / project / directory တည်ရှိပြီး PHP တွင် PHP တွင်သေချာအောင်လုပ်ပါ။


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

  • MySQLI :: Debug သည် မှတ်တမ်းသို့မရောက်ခဲ့သည့် Debug သည်ခွင့်ပြုချက်မလုံလောက်ပါ။

  • မှတ်တမ်းဖိုင်များနှင့်လမ်းညွှန်များသည်တည်ရှိပြီး PHP process user သို့တည်းဖြတ်နိုင်ကြောင်းအတည်ပြုပါ။

  • ခွင့်ပြုချက်စီမံခန့်ခွဲမှုကိုလွယ်ကူချောမွေ့စေရန်စနစ်မရှိသောအထိခိုက်မခံသောလမ်းညွှန်များရှိ log files များကို log files များကိုနေရာချရန်ကြိုးစားပါ။

  • အကယ်. ဆာဗာတွင်လုံခြုံရေး module တစ်ခုရှိပါက (Selinux ကဲ့သို့) တွင်ပါ 0 င်ပါကခွင့်ပြုချက်ပေးရန်ခွင့်ပြုရန်အပိုဆောင်း configurations များလိုအပ်သည်။

Developer များကသတင်းအချက်အလက်များကိုဖြေရှင်းရန်အတွက်ခွင့်ပြုချက်ကိုပြင်ဆင်ခြင်းအားဖြင့် developer များက MySQLI :: Debug ကို အောင်မြင်စွာ အသုံးပြု. Debugging လုပ်. Database နှင့်သက်ဆိုင်သောပြ problems နာများကိုပိုမိုထိရောက်စွာရှာဖွေတွေ့ရှိနိုင်သည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    mysqli