ဒေတာဘေ့စ်နှင့်သက်ဆိုင်သည့်ယူနစ်စစ်ဆေးမှုများပြုလုပ်သောအခါတစ်ခါတစ်ရံတွင်အထူးသဖြင့်စမ်းသပ်မှုများပျက်ကွက်ခြင်းနှင့်ရှုပ်ထွေးသော SQL operations များပါ 0 င်သည့်အခါအတိအကျဘာကိုဖြစ်ပျက်နေကြကြောင်းပိုမိုနက်ရှိုင်းစွာနားလည်ရန်လိုအပ်သည်။ PHP ၏ MySQLI extension သည်အလွန်လက်တွေ့ကျသော debugging function mySQLI :: debug () debug () debugging ကိုထောက်ပံ့ပေးသည်။ MySQLI :: Debug (Debug) သည် Phpunit ကိုစမ်းသပ်သည့်အခါ PHPunit ကိုစမ်းသပ်ရန်အတွက် debasing လုပ်ငန်းလည်ပတ်မှုများကိုအကောင်အထည်ဖော်ရန် MySQLI :: Debug (Debug) ကိုမည်သို့ပေါင်းစပ်မည်နည်း။
MySQLI :: Debug (string $ debug_options) သည် MySQLI အတန်းရှိနည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်း၏ parameters များသည် output file လမ်းကြောင်းနှင့် log level ကဲ့သို့သော debug အချက်အလက်ပြင်ဆင်မှုကိုဖော်ပြသည့် string တစ်ခုဖြစ်သည်။ ၎င်းကိုသစ်ထုတ်လုပ်ခြင်းကိုအလိုအလျောက်ဖွင့်ဟပြီး MySQL server ၏စုစည်းမှုရွေးချယ်စရာများကိုဖျက်သိမ်းရန်လည်းအထောက်အပံ့ပေးရန်လိုအပ်သည်ကိုသတိပြုသင့်သည်။
mysqli::debug("d:t:o,/tmp/client.trace");
အတွက်
debugging အဘို့ အ ရပ်တည်
thread သတင်းအချက်အလက်များပါသော t ကိုဆိုလိုသည်
o ဖိုင်မှ output ကိုဆိုလိုသည်
/tmp/client.trace သည် log file သို့လမ်းကြောင်းဖြစ်သည်
ဒေတာဘေ့စ်နှင့်သက်ဆိုင်သောစစ်ဆေးမှုများအတွက် PHPunit ကိုအသုံးပြုသောအခါ စာမေးပွဲ () သို့မဟုတ် setupbeforeclass () ကို debugging လုပ်နိုင်သည်။ ဤနည်းအားဖြင့် Debug သတင်းအချက်အလက်ကိုစစ်ဆေးရန်အတွက်စစ်ဆေးမှုကိုစစ်ဆေးရန်အတွက်စစ်ဆေးမှုပြုလုပ်သောအခါတိုင်းမှတ်တမ်းတင်လိမ့်မည်။
ဤတွင်အမှန်တကယ်ဥပမာတစ်ခုဖြစ်သည်။
use PHPUnit\Framework\TestCase;
class DatabaseTest extends TestCase
{
private static $mysqli;
public static function setUpBeforeClass(): void
{
// Debug output ကို Enable လုပ်ပါ
mysqli::debug("d:t:o,/tmp/php-mysqli-debug.log");
self::$mysqli = new mysqli("localhost", "user", "password", "testdb");
if (self::$mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . self::$mysqli->connect_error);
}
}
public function testInsertData()
{
$stmt = self::$mysqli->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$name = "အသုံးပြုသူကိုစစ်ဆေးပါ";
$email = "test@m66.net";
$this->assertTrue($stmt->execute());
}
public static function tearDownAfterClass(): void
{
self::$mysqli->close();
}
}
log file permissions များ - PHP သည် /TMP/php-mysqli-deblibugubugug.log ကဲ့သို့သောသတ်မှတ်ထားသောမှတ်တမ်းဖိုင်သို့စာရေးရန်ခွင့်ပြုချက်ရှိကြောင်းသေချာပါစေ။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်သတိထားပါ ။ MySQLI :: Debug () Debug (Debug) ကိုအဓိကအားဖြင့်ဖွံ့ဖြိုးတိုးတက်မှုနှင့် debugging အဆင့်များတွင်အသုံးပြုသည်။ အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်မှုများကိုရှောင်ရှားရန်ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင်၎င်းကိုဖွင့်ရန်မလိုအပ်ပါ။
ဖိုင်များကို debugging လုပ်ခြင်းဆိုင်ရာအကြောင်းအရာများရှိသည် - debugging files များသည်လျင်မြန်စွာကြီးမားလာနိုင်သည်။ အထူးသဖြင့်ဒေတာဘေ့စ်စမ်းသပ်မှုများစွာကိုလုပ်ဆောင်သောအခါ,
/tmp/php-mysqli-debug.log ဖိုင်ကိုဖွင့်ပြီးနောက်တွင်အသေးစိတ်အချက်အလက်များကိုသင်တွေ့ရလိမ့်မည်။
တစ်ခုချင်းစီကိုဆက်သွယ်မှုတည်ထောင်ခြင်းနှင့်ပိတ်ခြင်း
စုံစမ်းမှုကြေငြာချက်ဆိုင်ရာလုပ်ဆောင်မှုအခြေအနေ
parameter သည်စည်းနှောင်ခြင်းနှင့်ကွပ်မျက်လုပ်ငန်းစဉ်
Thread အချက်အလက်များစသည်တို့
ဤအချက်အလက်သည်သင်၏ PHP အစီအစဉ်သည် MySQL နှင့်မည်သို့ဆက်သွယ်သည်ကိုပိုမိုရှင်းလင်းစွာနားလည်နိုင်သည်။
MySQLI :: Debug (Debug) ကိုအသုံးပြုခြင်းသည် PHPunit နှင့်အတူအထူးသဖြင့်ဒေတာဘေ့စ်ယာဉ်မောင်းများ, orms များကိုတီထွင်သောအခါ, အကယ်. သင်သည်ဒေတာဘေ့စ်နှင့်သက်ဆိုင်သောစမ်းသပ်မှုများနှင့် debugging လုပ်ခြင်းကိုပြုလုပ်ပါကဤနည်းကိုကြိုးစားကြည့်ပါကပြ problems နာများကိုဖြေရှင်းရန်အချိန်များစွာသက်သာစေရန်ကူညီနိုင်သည်။
MySQLI :: Debug (Debug) ၏အသုံးပြုမှုအကြောင်းပိုမိုလေ့လာရန် ကျေးဇူးပြု. တရားဝင် PHP စာရွက်စာတမ်းကိုရည်ညွှန်းပါ။ : https://www.php.net/mysqlqli.debubuggug.php