PHP kernel ကိုအဓိကအားဖြင့် Zend Engine နှင့် Library စာကြည့်တိုက်။ PHP ၏အဓိကအချက်အရ PHP source code ကို pars source code ကိုခွဲခြမ်းစိတ်ဖြာခြင်း, PHP ကြွယ်ဝသောလုပ်ဆောင်မှုများကိုထောက်ပံ့ရန် Extension Library သည်အဓိကလုပ်ဆောင်ချက်များနှင့်အတန်းများကိုထောက်ပံ့ပေးသည်။
Zend Engine သည်စကားပြန်မှတစ်ဆင့် syntax သစ်ပင်တစ်ပင်ကိုထုတ်ပေးသည်။ PHP code ကို syntax node များထဲသို့ပြိုကွဲစေသည်။ ထို့နောက် compiler သည် syntax tree ကို intermax code Zend OPCODEDES သို့ပြောင်းရွှေ့သည်။ ထို့နောက် Execute သည် PHP code ၏ Execution Process ကိုဖြည့်စွက်ရန်ဤညွှန်ကြားချက်များအရလုပ်ဆောင်သည်။
PHP ၏အဓိကလုပ်ဆောင်ချက်များကို Cities မှရေးသားထားသော liber များတင်ခြင်းဖြင့်အကောင်အထည်ဖော်သည်။ Extensions များရေးဆွဲသည့်အခါ PHP Runtime တွင် dynamically load လုပ်ပြီးအသုံးပြုသော shared library တစ်ခုတွင်၎င်းကို compile လုပ်ရန်လိုအပ်သည်။ Custom Functions များကိုအကောင်အထည်ဖော်ရန် PHP Code အတွက် PHP Code အတွက် Intervene သည် interface ကိုပေးသည်။
PHP kernel ၏ debugging ကျွမ်းကျင်မှုများကျွမ်းကျင်မှုသည်သင်မည်သို့အလုပ်လုပ်သည်ကိုနားလည်ရန်နှင့်စွမ်းဆောင်ရည်ပြ problems နာများကိုဖြေရှင်းရန်ကူညီနိုင်သည်။ အောက်ဖော်ပြပါများသည်များသောအားဖြင့်အသုံးပြုသော debugging နည်းလမ်းများဖြစ်သည်။
GDB သည် C Code ကို PHP source code တွင် code debugging လုပ်ရန်သင့်တော်သောအားကောင်းသော debugger ဖြစ်သည်။ ပထမဆုံး PHP ကို Compilation options (Clpags = "-")) debug အချက်အလက်များနှင့်အတူ php အချက်အလက်များနှင့်အတူ PHP ပရိုဂရမ်) နှင့်အတူ GDB နောက်ဆက်တွဲကို အသုံးပြု. PHP အစီအစဉ်ကို GDB နောက်ဆက်တွဲကိုအသုံးပြုပါ။
XDebug သည် PPP အတွက်ဒီဇိုင်းပြုလုပ်ထားသော debugging နှင့်ခွဲခြမ်းစိတ်ဖြာကိရိယာတစ်ခုဖြစ်သည်။ xdebug, breakpoint ကို install လုပ်ပြီး configure လုပ်ပြီးနောက်တွင် breakpoint debugging, variable monitoring နှင့် stack trace ကို debugging စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စွာတိုးတက်အောင်ပြုလုပ်နိုင်သည်။
အောက်ပါဥပမာသည် PHP တိုးချဲ့မှုဖွံ့ဖြိုးတိုးတက်မှုမှတဆင့်ရိုးရှင်းသောထုံးစံ function ကိုမည်သို့ဖန်တီးရမည်ကိုပြသသည်။
#include "php.h" PHPP_FUNITIRITRITIRITIRITIRITIRITY (Custom_Function) { php_printf ("မင်္ဂလာပါ, စိတ်ကြိုက် function!); } Conn Zend_Function_entry certion_Functions [] = {{] php_fe (custom_Function, null) php_fe_end }; php_minit_function (ထုံးစံ) { register_null_contcestant ("Custom_Const", 0, Cover_cs | Controv_persistent); အောင်မြင်မှုပြန်ပို့ခြင်း, } Zend_module_entry Custom_Module_entry = { Standard_module_header, "ထုံးစံ", custom_rofunctions, php_minit (ထုံးစံ), null, null, null, null, php_custom_version, Standard_module_properties }; Zend_get_module (ထုံးစံ)
အထက်ပါကုဒ်ကို PHP source code ၏ extrase code ၏ extence code directory တွင်အသစ်စက်စက်ဖန်တီးထားသောစိတ်ကြိုက်လမ်းညွှန်ထဲသို့ထည့်ပါ။ COMID.M4 ဖိုင်ကိုအသုံးပြုပါ။
ဤဆောင်းပါးတွင်မိတ်ဆက်ပေးသော PHP7 ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာအခြေခံမူများနှင့် debugging နည်းလမ်းများအားဖြင့် developer များက PHP Kernel, Master Kernel Extension Development Schairlflo ၏လုပ်ငန်းစဉ်ကိုပိုမိုနားလည်သဘောပေါက်နိုင်ပြီးကုဒ်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန် Debugging Tools များကိုသုံးနိုင်သည်။ ၎င်းသည်ပရိုဂရမ်းမင်းစွမ်းရည်များကိုတိုးတက်အောင်သာမကရှုပ်ထွေးသောပြ problems နာများကိုဖြေရှင်းရန်အတွက်ခိုင်မာသောအုတ်မြစ်ချသည်။