လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Erristling ကိုင်တွယ်ကျွမ်းကျင်မှုများ

PHP Erristling ကိုင်တွယ်ကျွမ်းကျင်မှုများ

M66 2025-07-30

PHP Erristling ကိုင်တွယ်ကျွမ်းကျင်မှုများ

မျိုးပွားရန်ခက်ခဲသော PHP အမှားများကို debugging devel လုပ်သားများကိုအထူးသဖြင့်အမှားများမမှန်မကန်ဖြစ်ပေါ်သောအခါ developer များကစိတ်ပျက်စေသည်။ ကံကောင်းထောက်မစွာပင် PHP သည် built-in အမှားကိုင်တွယ်သူများနှင့်ပိုမိုထိရောက်သောတတိယပါတီကိရိယာများအပါအ 0 င် debugging method များဖြစ်သည်။

အမှားအယွင်းများကို အသုံးပြု. စိတ်ကြိုက်အမှားအယွင်းများ

PHP ၏ built-in errorhander သည်သင့်အားစိတ်ကြိုက်အမှားကိုင်တွယ်သူများကိုဖန်တီးရန်ခွင့်ပြုသည်။ အမှားအယွင်းများကိုသတ်မှတ်ခြင်းဖြင့် PHP အမှားအယွင်းများအားလုံးကိုဖမ်းယူနိုင်ပြီး၎င်းတို့အား၎င်းတို့အားမှတ်တမ်းတင်နိုင်သည်။ ဤတွင်အမှားအယွင်းတစ်ခု အသုံးပြု. ဥပမာတစ်ခုမှာ -

 function myErrorHandler($errno, $errstr, $errfile, $errline) {
    // အမှားအယွင်းများကိုမှတ်တမ်းတင်ခြင်းသို့မဟုတ်ပြသခြင်း
}
set_error_handler('myErrorHandler');

မှတ်တမ်းတင်ရန်အမှားများကိုမှတ်တမ်းတင်ပါ

PHP သည် error_log () function ကိုပေးထားသည်။ PHP.ini configuration file ထဲရှိအမှားမှတ်တမ်းသို့လမ်းကြောင်းကိုသင်သတ်မှတ်နိုင်သည်သို့မဟုတ်သင်၏ code တွင်ဤ function ကိုသုံးနိုင်သည်။

 // တည်နေphp.iniဖိုင်ထဲမှာ
error_log = /var/log/php_errors.log

xdebug မှတစ်ဆင့် debugging

XDebug သည် PHP အတွက်အစွမ်းထက် debugging tool တစ်ခုဖြစ်သည်။ သင်၏ကုဒ်ကို debug လုပ်ရန် Xdebug ကို ide in ကို ide in ကိုဖွင့်နိုင်သည်။ XDebug Session ကိုစတင်ရန်ကုဒ်ဥပမာတစ်ခုမှာ -

 xdebug_start_debug();

kint နှင့်အတူအပြန်အလှန် debugging

Kint သည်အပြန်အလှန်အကျိုးသက်ရောက်သောပုံနှိပ်ခြင်းနှင့်သဲလွန်စများကိုခြေရာခံနိုင်စွမ်းများကိုထောက်ပံ့ပေးသောတတိယပါတီ debugging tool တစ်ခုဖြစ်သည်။ Kint နှင့်အတူ, သင်သည်အမှားမက်ဆေ့ခ်ျများကိုပိုမိုရှင်းလင်းစွာကြည့်ရှုနိုင်သည်။ Kint ကိုအသုံးပြုပြီးတဲ့အခါမှာ install လုပ်ဖို့လိုတယ်။

 // တပ်ဆင်အေးထားKint
composer require kint-php/kint

// ပါဝင်Kint
require_once 'vendor/autoload.php';

အမှန်တကယ် debugging ရောဂါများ

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

အမှားအယွင်း

 function myErrorHandler($errno, $errstr, $errfile, $errline) {
    if ($errno == E_WARNING && strpos($errstr, 'random') !== false) {
        // ကျပန်းနံပါတ်မျိုးဆက်များနှင့်ပတ်သက်သောအမှားအယွင်းများကိုမှတ်တမ်းတင်ခြင်းသို့မဟုတ်ပြသခြင်း
}
}
set_error_handler('myErrorHandler');

XDebug နှင့်အတူ debugging

 xdebug_start_debug(); // တည်နေ函数执行前启动调试

// ကျပန်းနံပါတ်များကိုထုတ်ပေးသော function ကို execute

// အမှား၏အရင်းအမြစ်ကိုရှာဖွေရန် stack သဲလွန်စပြန်လည်သုံးသပ်
xdebug_stop_debug(); // debug session ကိုအဆုံးသတ်

kint နှင့်အတူ debugging

 // ကျပန်းနံပါတ်များကိုထုတ်ပေးသော function ကို execute
$result = generateRandomNumber();

// အသုံးပြုKintError အမှားအယွင်းများ
d($result);

ဤကိရိယာများမှတစ်ဆင့် PHP တွင်ကျပန်းအမှားများကိုပိုမိုထိရောက်စွာ debug လုပ်ခြင်း,

မကြာသေးမီ ဆောင်းပါးများ