လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Dump_debugguinfo function သည် MySQL ၏ debugging mode ဖြင့်ပေါင်းစပ်ထားသနည်း။

MySQLI :: Dump_debugguinfo function သည် MySQL ၏ debugging mode ဖြင့်ပေါင်းစပ်ထားသနည်း။

gitbox 2025-06-22
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဤစာရွက်စာတမ်းသည်ဆွေးနွေးရန်ရည်ရွယ်သည် PHP အလယ်ပိုင်း mysqli::dump_debug_info လုပ်ဆောင်ချက်များနှင့် MySQL Debug Mode ကိုသုံးရန်အကောင်းဆုံးအလေ့အကျင့်များ。</span></span><span>
</span><span><span class="hljs-comment">// ဤအပိုင်းကိုပြုပြင်ရန်မလိုအပ်ပါ,ဆောင်းပါး positioning နှင့်စမ်းသပ်ခြင်းသည်。</span></span><span>

</span><span><span class="hljs-comment">// ဒေတာဘေ့စ်ဆက်သွယ်မှုကို set up(သာဓကသာ)</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"user"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"database"</span></span><span>);

</span><span><span class="hljs-comment">// connection ကိုအောင်မြင်အောင်သေချာပါစေ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ဆက်သွယ်မှုမအောင်မြင်ပါ: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// အသုံးပြု dump_debug_info နမူနာ</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">dump_debug_info</span></span><span>();
</span><span><span class="hljs-meta">?&gt;</span></span><span>
&lt;hr&gt;
</span></span>

နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် PHP အစီအစဉ်များနှင့် MySQL တို့အကြားအပြန်အလှန်ဆက်သွယ်မှုသည်အထူးသဖြင့်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းရှုပ်ထွေးသောမေးမြန်းချက်များသို့မဟုတ်မရှင်းပြနိုင်သည့်စွမ်းဆောင်ရည်မြှင့်တင်မှုများနှင့်စပ်လျဉ်း။ MySQLI :: Dump_debuggug_info () သည် PHP အဆင့်ရှိ MySQL server သို့ဆက်သွယ်မှုအခြေအနေသတင်းအချက်အလက်များကိုကူညီနိုင်သည့် MySQLEBUGGGGGGGGGUGUFGOULE ဖြစ်သည်။ သို့သော်ဤလုပ်ဆောင်မှုကိုတစ် ဦး တည်းခေါ်ဆိုခြင်းသည်၎င်း၏အကျိုးသက်ရောက်မှုကိုလေ့လာရန်ခက်ခဲလေ့ရှိပြီး MySQL ၏ Debug Mode နှင့် တွဲဖက်. အသုံးပြုသောအခါ၎င်းသည်၎င်း၏အခန်းကဏ် play မှသာဖြစ်သည်။

1 ။ နိဒါန်း

MySQLI :: Dump_debugguinfo () သည် PHP ၏ MySQLI Class ရှိနည်းလမ်းဖြစ်သည်။ ၎င်း၏ function ကို MySQL server သို့ debug သတင်းအချက်အလက်တောင်းဆိုမှုများကိုပေးပို့ရန်ဖြစ်သည်။ ၎င်း၏ function ကိုအဓိပ္ပါယ်ဖွငျ့အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-keyword">bool</span></span><span> mysqli::</span><span><span class="hljs-variable constant_">dump_debug_info</span></span><span> ( </span><span><span class="hljs-keyword">void</span></span><span> )
</span></span>

ဤလုပ်ဆောင်ချက်ကိုဖုန်းဆက်ပြီးနောက် MySQL server သည်လက်ရှိဆက်သွယ်မှု၏ debug function ကို debug untion ကို debugging information ကိုရေးပါလိမ့်မည်။

2 ။ MySQL debugging mode ကိုဖွင့်ပါ

dump_debug_info () အလုပ်ပြုလုပ်ရန် MySQL server side တွင် debugging လုပ်ရန်သင်ပထမ ဦး ဆုံးလိုအပ်သည်။ နည်းလမ်းမှာအောက်ပါအတိုင်းဖြစ်သည် -

  1. Configuration File ကိုတည်းဖြတ်ပါ My.cnf သို့မဟုတ် my.ini ဖိုင်ကိုဖွင့်ပြီးအောက်ပါလိုင်းများကိုထည့်ပါ (ကျေးဇူးပြု. သင်၏ system path အညီချိန်ညှိပါ)

     <span><span><span class="hljs-section">[mysqld]</span></span><span>
    </span><span><span class="hljs-attr">log_output</span></span><span>=FILE
    </span><span><span class="hljs-attr">general_log</span></span><span>=</span><span><span class="hljs-number">1</span></span><span>
    </span><span><span class="hljs-attr">general_log_file</span></span><span>=/var/log/mysql/general.log
    </span></span>

    အကယ်. ပိုမိုကောင်းမွန်သောကောက်ယူထားသော debugging လိုအပ်ပါက MySQL ကို --Debug parameter ဖြင့်စတင်နိုင်သည်။

     <span><span><span class="hljs-attribute">mysqld</span></span><span> --</span><span><span class="hljs-literal">debug</span></span><span>=d:t:i:o,/tmp/mysql_debug.log
    </span></span>
  2. MySQL ဝန်ဆောင်မှုကိုပြန်လည်စတင်ပါ

     <span><span>sudo systemctl restart mysql
    </span></span>
  3. မှတ်တမ်းလမ်းကြောင်းခွင့်ပြုချက်ကိုစစ်ဆေးပါ အထူးသဖြင့် / tmp သို့မဟုတ် var / log / mySql / log files များကို log files များကို log files လုပ်ရန်ခွင့်ပြုချက်ရှိသည်။

3 ။ ပေါင်းစပ်အသုံးပြုမှုအခြေအနေများ

Dump_Debug_info နှင့်ပေါင်းစပ်ထားသောပြ problems နာများကိုမည်သို့ debug လုပ်ရမည်ကိုပြသသည့်လက်တွေ့ကျသောအသုံးပြုမှုဆိုင်ရာအခြေအနေအချို့မှာဤတွင်ဖော်ပြထားသည်။

1 ။ connection status status ကိုပြ issues နာများ

ဆက်သွယ်မှုအချို့ကိုကွပ်မျက်ပြီးနောက်သို့မဟုတ်ကွပ်မျက်ပြီးနောက်အချို့သောဆက်သွယ်မှုများကိုစနစ်တကျပိတ်ထားခြင်းမရှိပါက,

 <span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM users WHERE id = 1"</span></span><span>);
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">dump_debug_info</span></span><span>();
</span></span>

ယခုအချိန်တွင် MySQL မှတ်တမ်းသည်အရင်းအမြစ်ယိုစိမ့်မှုကဲ့သို့သောပြ problems နာများကိုခွဲခြမ်းစိတ်ဖြာရန်ကူညီလိမ့်မည်။

2 ။ ရေရှည် scripts ကို debug

Dump_debug_info () dump_debug_info () dump_debug_info () dump_debug_info () ကိုစင်မြင့်တစ်ခုစီတွင်တစ်ချိန်ကတစ်ကြိမ်စီတွင်တစ်ချိန်ကဟုခေါ်သည်။ ဥပမာအားဖြင့်:

 <span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$userIds</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$id</span></span><span>) {
    </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">"UPDATE users SET status = 'active' WHERE id = <span class="hljs-subst">$id</span></span></span><span>");
    </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">dump_debug_info</span></span><span>(); </span><span><span class="hljs-comment">// debug အချက်အလက်များကိုအသစ်ပြောင်းတိုင်းတိုင်းရေးပါ</span></span><span>
}
</span></span>

3 ။ နှေးကွေးသောစုံစမ်းမှုမှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ညှိနှိုင်းပါ

အကယ်. နှေးကွေးသောစုံစမ်းမှုမှတ်တမ်းကိုဖွင့်ထားလျှင် Dump_debug_info () ၏ timestamp နှင့်ပေါင်းစပ်ပါက, မည်သည့်ကုဒ်အပိုင်းအစကိုသင်ရှာဖွေတွေ့ရှိနိုင်သည့်စုံစမ်းမှုကိုရှာဖွေတွေ့ရှိနိုင်သည်။

4 ။ မှတ်စုများ

  • Dump_debuggug_info () သည် PHP ဘက်မှမည်သည့်ဒေတာကိုမဆိုပြန်ပို့လိမ့်မည်မဟုတ်ပါ။ အဆိုပါ debugging သတင်းအချက်အလက်ကို MySQL မှတ်တမ်းတွင်အပြည့်အဝထင်ဟပ်နေသည်။

  • ဒီ function ကိုမကြာခဏသုံးတာပတ်ဝန်းကျင်မှာမကြာခဏသုံးဖို့မလိုအပ်ပါ,

  • MySQLI_Debug () function ကိုမတူဘဲ Dump_debug_info () သည် Runtime Snapshot ၏ Runtime Snapshot သည်ကမ္ဘာလုံးဆိုင်ရာ debugging parameters များကိုပြင်ဆင်ခြင်းထက်လက်ရှိဆက်သွယ်မှု၏ status ၏ runtime လျှပ်တစ်ပြက်ဖြစ်သည်။

V. နိဂုံးချုပ်

MySQLI :: dump_debuggug_info () သည်ပရောဂျက်အများစုတွင်ပုံမှန်မဟုတ်သော်လည်း၎င်းသည်ပြ problems နာများကိုဖြေရှင်းရန် DBA (သို့) ဆာဗာအလွှာနှင့်နီးကပ်စွာအလုပ်လုပ်ရန်လိုအပ်သည့်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။ MySQL ၏ Debug Log ကိုပြင်ဆင်ခြင်းနှင့်ဤလုပ်ဆောင်မှုကိုအရေးပါသောနေရာတွင်ခေါ်ဆိုခြင်းဖြင့် developer များက PHP နှင့်ဒေတာဘေ့စ်အကြားအပြန်အလှန်အကျိုးပြုသည့်အပြုအမူများကိုပိုမိုကောင်းမွန်စွာလေ့လာပြီးအကောင်းဆုံးဖြစ်သည်။