ဆောင်းပါးလမ်းညွှန်
သင့်ဝက်ဘ်ဆိုက် နှေးကွေးနေတာက ဝင်ရောက်ကြည့်ရှုသူ အရမ်းများလို့ မဟုတ်ဘဲ Memcached backend လုံးဝမလည်ပတ်လို့ ဖြစ်နိုင်ပါတယ်။
ဒါက အခက်ခဲဆုံးအပိုင်းပါ။ PHP 8.4 ကို အဆင့်မြှင့်လိုက်ပေမယ့် Memcached server က တုံ့ပြန်မှုမရှိသလို စာမျက်နှာတွေကလည်း မြန်မြန်ဆန်ဆန် load လုပ်ပါတယ်။ အဓိကအကြောင်းရင်းက အတော်လေးရိုးရှင်းပါတယ် - extension mismatch၊ expired keys နဲ့ dependency order မမှန်ကန်တာတွေပါ။ အောက်မှာ ဖြေရှင်းနည်းတစ်ခုလုံးကို ခွဲခြမ်းစိတ်ဖြာပြီး တစ်ခါတည်းပြင်ပေးပါမယ်။
ပြဿနာရဲ့ အရင်းခံ
PHP ကို ဗားရှင်း 8.4 ကို အဆင့်မြှင့်တင်ပြီးနောက် Memcached extension က လိုက်မမီရင် error ကို တိုက်ရိုက်ပစ်ပါလိမ့်မယ်။
လူအတော်များများ လျစ်လျူရှုထားမိတဲ့ packages.sury.org ပြဿနာက GPG key သက်တမ်းကုန်ဆုံးသွားလို့ installation package ကို download လုပ်လို့မရခဲ့ပါဘူး။
ပိုဆိုးတာက Memcached က... igbinary နှင့် msgpackတင်ဆောင်မှုအစီအစဉ်ကို တင်းကြပ်စွာလိုက်နာရမည်။ မဟုတ်ပါက ပဟေဠိအပိုင်းအစများကို မှားယွင်းသောနေရာတွင် ထားခြင်းနှင့်တူပြီး ဝန်ဆောင်မှုတစ်ခုလုံး ရပ်တန့်သွားမည်ဖြစ်သည်။

GPG ကီးကို အပ်ဒိတ်လုပ်ပါ
ပထမခြေလှမ်းကတော့ source key ကို ပြုပြင်ဖို့ပါ။
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt update
ဤအဆင့်သည် စနစ်သို့ pass ပြန်လည်ထုတ်ပေးခြင်းနှင့် ညီမျှသည်။ ၎င်းမရှိပါက နောက်ဆက်တွဲ ထည့်သွင်းမှုအားလုံးကို ငြင်းပယ်လိမ့်မည်။
Debian တရားဝင်စာရွက်စာတမ်းအရ key သက်တမ်းကုန်ဆုံးခြင်းသည် အဖြစ်များသောပြဿနာတစ်ခုဖြစ်ပြီး ပုံမှန်အပ်ဒိတ်လုပ်ရန် လိုအပ်ပါသည်။
PHP 8.4 အတွက် Memcached extension ကို install လုပ်ပါ။
နောက်တစ်ဆင့်ကတော့ extension ကို install လုပ်ရမှာပါ။
apt install -y php8.4-memcached
ဗားရှင်းသည် PHP 8.4 နှင့် တစ်ထပ်တည်း ကိုက်ညီရမည်ကို သတိပြုပါ။ မဟုတ်ပါက "undefined symbol" အမှား ဖြစ်ပေါ်လိမ့်မည်။
PHP extension library ရဲ့ တရားဝင်စာရွက်စာတမ်းအရ Memcached ဟာ လိုက်ဖက်ညီမှုရှိစေဖို့ 8.x series မှာ ပြန်လည် compilation လုပ်ဖို့လိုအပ်ပါတယ်။
configuration file prompts များကို ကိုင်တွယ်ခြင်း
ထည့်သွင်းခြင်းလုပ်ငန်းစဉ်အတွင်း pop-up တစ်ခုပေါ်လာလိမ့်မည်။ memcached.ini ရွေးချယ်ရေး တိုက်တွန်းချက်များ။
ဒီမှာ ဘာမှ မပြောင်းလဲပါနဲ့၊ Enter နှိပ်ပြီး default ကို ရွေးလိုက်ပါ။ Nရှိပြီးသား configuration ကို သိမ်းဆည်းထားပါ။
这是因为 HestiaCP ၎င်းတွင် ၎င်း၏ကိုယ်ပိုင် configuration ဖိုင်ရှိပြီးသားဖြစ်သည်။ ၎င်းကို အတင်းအကြပ် overwrite လုပ်ခြင်းသည် panel မှ error တစ်ခုကို report လုပ်ရုံသာဖြစ်စေသည်။
dependency extension တင်ခြင်းအစီအစဉ်ကို ပြင်ဆင်ပါ
ဒါက အရေးကြီးတဲ့ ခြေလှမ်းတစ်ခုပါ။
phpdismod -v 8.4 memcached
phpdismod -v 8.4 msgpack
phpdismod -v 8.4 igbinary
phpenmod -v 8.4 igbinary
phpenmod -v 8.4 msgpack
phpenmod -v 8.4 memcached
မှာယူမှုမှာ အောက်ပါအတိုင်းဖြစ်ရမည်-igbinary → msgpack → memcached။
အစီအစဉ်မှားယွင်းနေပါက Memcached သည် "cannot load module" အမှားကို တိုက်ရိုက်အစီရင်ခံပါလိမ့်မည်။
ဒါကို Stack Overflow မှာ developer အများအပြားက အတည်ပြုပြီးပါပြီ။
ဝန်ဆောင်မှုကို ပြန်လည်စတင်ပါ
နောက်ဆုံးအဆင့်ကတော့ ပြန်လည်စတင်ဖို့ပါပဲ။
systemctl restart php8.4-fpm
systemctl restart memcached
ဒီအဆင့်က စနစ်ပေါ်က refresh ခလုတ်ကို နှိပ်သလိုပါပဲ။ အဲဒီအခါမှသာ configuration အားလုံး အမှန်တကယ် အကျိုးသက်ရောက်မှုရှိမှာပါ။
ထည့်သွင်းမှု အောင်မြင်ခြင်း ရှိမရှိ စစ်ဆေးပါ။
执行:
php8.4 -m | grep memcached
အထွက်မှာ ပါဝင်ရင် memcachedဒါက extension ကို အောင်မြင်စွာ load လုပ်ပြီးသွားပြီဆိုတာကို ညွှန်ပြပါတယ်။
ဆိုလိုသည်မှာ သင်၏ HestiaCP panel သည် cache support ကို နောက်ဆုံးတွင် ပြန်လည်ရရှိပြီးဖြစ်ပြီး ဝဘ်ဆိုက်စွမ်းဆောင်ရည်သည် ချက်ချင်းတိုးတက်လာမည်ဖြစ်သည်။
နိဂုံးချုပ်- ကျွန်ုပ်၏အမြင်
နည်းပညာပိုင်းဆိုင်ရာပြဿနာများသည် ဘယ်တော့မှ အကြောက်ဆုံးအရာမဟုတ်ပါ၊ အမှန်တကယ်ကြောက်စရာကောင်းသည်မှာ ပြဿနာဘယ်မှာရှိနေသည်ကို မသိခြင်းပင်ဖြစ်သည်။
Memcached က မတုံ့ပြန်တာက ရှုပ်ထွေးတယ်လို့ ထင်ရပေမယ့် တကယ်တမ်းမှာ အဓိကအချက် သုံးခုကြောင့်ပါ-ဗားရှင်းကိုက်ညီမှု၊ သော့အပ်ဒိတ်၊ မှီခိုမှုအစီအစဉ်။
၎င်းကို ဖြေရှင်းခြင်းသည် တိကျသောအင်ဂျင်တစ်လုံးကို ပြုပြင်ခြင်းနှင့်တူသည်။ အစိတ်အပိုင်းတစ်ခုစီသည် မှန်ကန်သောနေရာတွင်ရှိနေသရွေ့ စက်တစ်ခုလုံးသည် ပြန်လည်အသက်ဝင်လာနိုင်သည်။
သတင်းအချက်အလက်များ ပြည့်နှက်နေသော ဤခေတ်တွင် ဝဘ်ဆိုက်စွမ်းဆောင်ရည်သည် ယှဉ်ပြိုင်နိုင်စွမ်း အားသာချက်တစ်ခုဖြစ်သည်။ Caching သည် ရှိသင့်ရှိထိုက်သော အရာတစ်ခုသာမက အသုံးပြုသူအတွေ့အကြုံကို ဆုံးဖြတ်ပေးသည့် အခြေခံအုတ်မြစ်တစ်ခုလည်း ဖြစ်သည်။
ဒါကြောင့် သေးငယ်တဲ့ configuration အမှားလေးတွေက သင့်လုပ်ငန်းကို ပျက်စီးစေတာမျိုး မဖြစ်ပါစေနဲ့။ ဒီအဆင့်တွေကို ကျွမ်းကျင်အောင်လုပ်ပါ၊ ပြဿနာကို လုံးဝဖြေရှင်းနိုင်ပြီး သင့်ဝက်ဘ်ဆိုက်ကို ချောမွေ့စွာ ပြန်လည်လည်ပတ်နိုင်မှာပါ။
နည်းပညာရဲ့တန်ဖိုးဟာ ၎င်းရဲ့ရှုပ်ထွေးမှုမှာ မဟုတ်ဘဲ ၎င်းရဲ့တိကျမှုမှာ တည်ရှိပါတယ်။ စစ်မှန်တဲ့ကျွမ်းကျင်မှုဟာ ပြဿနာတွေကို တိကျစွာဖြေရှင်းခြင်းမှာ တည်ရှိပါတယ်။
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ဤနေရာတွင် မျှဝေထားသော "HestiaCP ရှိ PHP 8.4 တွင် တုံ့ပြန်မှုမရှိသော Memcached Server ပြဿနာကို ဖြေရှင်းခြင်း" ဆောင်းပါးသည် သင့်အတွက် အထောက်အကူဖြစ်နိုင်ပါသည်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-33848.html
