ລາຍການຫົວເລື່ອງ
ເວັບໄຊທ໌ຂອງທ່ານຊັກຊ້າບໍ່ແມ່ນຍ້ອນການຈະລາຈອນຫຼາຍເກີນໄປ, ແຕ່ອາດຈະເປັນຍ້ອນ Memcached backend ບໍ່ໄດ້ເຮັດວຽກເລີຍ!
ນີ້ແມ່ນສ່ວນທີ່ໜ້າອຸກໃຈທີ່ສຸດ: ທ່ານໄດ້ອັບເກຣດເປັນ PHP 8.4, ແຕ່ເຊີບເວີ Memcached ບໍ່ຕອບສະໜອງ, ແລະ ໜ້າເວັບໂຫຼດໄວຫຼາຍ. ສາເຫດຕົ້ນຕໍແມ່ນຂ້ອນຂ້າງງ່າຍດາຍ - extension ບໍ່ກົງກັນ, ລະຫັດໝົດອາຍຸ, ແລະ ລຳດັບການຂຶ້ນກັບທີ່ບໍ່ຖືກຕ້ອງ. ຂ້າງລຸ່ມນີ້, ຂ້ອຍຈະແຍກວິທີແກ້ໄຂທັງໝົດເພື່ອໃຫ້ທ່ານສາມາດແກ້ໄຂມັນໄດ້ໃນເທື່ອດຽວ.
ຕົ້ນເຫດຂອງບັນຫາ
ຫຼັງຈາກອັບເກຣດ PHP ເປັນເວີຊັນ 8.4 ແລ້ວ, ຖ້າສ່ວນຂະຫຍາຍ Memcached ບໍ່ສາມາດໃຊ້ງານໄດ້ຕາມທີ່ຕ້ອງການ, ມັນຈະສະແດງຂໍ້ຜິດພາດໂດຍກົງ.
ຫຼາຍຄົນມອງຂ້າມ packages.sury.org ບັນຫາດັ່ງກ່າວເກີດຈາກລະຫັດ GPG ໝົດອາຍຸ, ເຊິ່ງເຮັດໃຫ້ແພັກເກດການຕິດຕັ້ງບໍ່ສາມາດດາວໂຫຼດໄດ້.
ຮ້າຍໄປກວ່ານັ້ນ, Memcached ແມ່ນຂຶ້ນກັບ... igbinary 和 msgpackຕ້ອງປະຕິບັດຕາມຄຳສັ່ງການໂຫຼດຢ່າງເຂັ້ມງວດ; ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຄືກັບການວາງຊິ້ນສ່ວນຕໍ່ຮູບຈິ๊กຊໍໄວ້ໃນບ່ອນທີ່ບໍ່ຖືກຕ້ອງ, ເຮັດໃຫ້ການບໍລິການທັງໝົດຂັດຂ້ອງ.

ອັບເດດລະຫັດ GPG
ຂັ້ນຕອນທຳອິດແມ່ນການສ້ອມແປງລະຫັດແຫຼ່ງຂໍ້ມູນ.
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt update
ຂັ້ນຕອນນີ້ແມ່ນເທົ່າກັບການອອກບັດຜ່ານໃຫ້ກັບລະບົບຄືນໃໝ່; ຖ້າບໍ່ມີມັນ, ການຕິດຕັ້ງຕໍ່ມາທັງໝົດຈະຖືກປະຕິເສດ.
ອີງຕາມເອກະສານ Debian ຢ່າງເປັນທາງການ, ການໝົດອາຍຸຂອງຄີແມ່ນບັນຫາທົ່ວໄປ ແລະ ຕ້ອງໄດ້ຮັບການອັບເດດເປັນປະຈຳ.
ຕິດຕັ້ງສ່ວນຂະຫຍາຍ Memcached ສຳລັບ PHP 8.4
ຂັ້ນຕອນຕໍ່ໄປແມ່ນການຕິດຕັ້ງສ່ວນຂະຫຍາຍ.
apt install -y php8.4-memcached
ໃຫ້ສັງເກດວ່າເວີຊັນຕ້ອງກົງກັບ PHP 8.4 ຢ່າງແນ່ນອນ; ຖ້າບໍ່ດັ່ງນັ້ນ, ຈະເກີດຂໍ້ຜິດພາດ "ສັນຍາລັກທີ່ບໍ່ໄດ້ກຳນົດ".
ອີງຕາມເອກະສານຫ້ອງສະໝຸດສ່ວນຂະຫຍາຍ PHP ຢ່າງເປັນທາງການ, Memcached ຕ້ອງການການຄອມໄພເລຊັນຄືນໃໝ່ໃນຊຸດ 8.x ເພື່ອຄວາມເຂົ້າກັນໄດ້.
ການຈັດການການກະຕຸ້ນເຕືອນໄຟລ໌ການຕັ້ງຄ່າ
ປັອບອັບຈະປາກົດຂຶ້ນໃນລະຫວ່າງຂະບວນການຕິດຕັ້ງ. memcached.ini ການກະຕຸ້ນການຄັດເລືອກ.
ຢ່າປ່ຽນແປງຫຍັງຢູ່ບ່ອນນີ້, ພຽງແຕ່ກົດ Enter ແລະເລືອກຄ່າເລີ່ມຕົ້ນ. Nຮັກສາການຕັ້ງຄ່າທີ່ມີຢູ່ແລ້ວໄວ້.
ນີ້ແມ່ນຍ້ອນວ່າ HestiaCP ມັນມີໄຟລ໌ການຕັ້ງຄ່າຂອງມັນເອງຢູ່ແລ້ວ; ການຂຽນທັບມັນແບບບັງຄັບຈະເຮັດໃຫ້ແຜງລາຍງານຄວາມຜິດພາດເທົ່ານັ້ນ.
ແກ້ໄຂລຳດັບການໂຫຼດສ່ວນຂະຫຍາຍການເພິ່ງພາອາໄສ
ນີ້ແມ່ນບາດກ້າວທີ່ສຳຄັນ.
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 ຈະລາຍງານຂໍ້ຜິດພາດ "ບໍ່ສາມາດໂຫຼດໂມດູນໄດ້" ໂດຍກົງ.
ສິ່ງນີ້ໄດ້ຮັບການຢືນຢັນໂດຍນັກພັດທະນານັບບໍ່ຖ້ວນໃນ Stack Overflow.
ເລີ່ມການບໍລິການຄືນໃໝ່
ຂັ້ນຕອນສຸດທ້າຍແມ່ນການເລີ່ມຕົ້ນໃໝ່.
systemctl restart php8.4-fpm
systemctl restart memcached
ຂັ້ນຕອນນີ້ແມ່ນຄ້າຍຄືກັບການກົດປຸ່ມໂຫຼດໜ້າເວັບຄືນໃໝ່ໃນລະບົບ; ຫຼັງຈາກນັ້ນການຕັ້ງຄ່າທັງໝົດຈຶ່ງຈະມີຜົນບັງຄັບໃຊ້ຢ່າງແທ້ຈິງ.
ກວດສອບວ່າການຕິດຕັ້ງສຳເລັດແລ້ວ.
ປະຕິບັດ:
php8.4 -m | grep memcached
ຖ້າຜົນຜະລິດປະກອບດ້ວຍ memcachedນີ້ຊີ້ບອກວ່າສ່ວນຂະຫຍາຍໄດ້ຖືກໂຫຼດສຳເລັດແລ້ວ.
ນີ້ໝາຍຄວາມວ່າແຜງ HestiaCP ຂອງທ່ານໄດ້ຮັບການສະໜັບສະໜູນແຄດຄືນມາແລ້ວ, ແລະ ປະສິດທິພາບຂອງເວັບໄຊທ໌ຈະດີຂຶ້ນທັນທີ.
ສະຫຼຸບ: ທັດສະນະຂອງຂ້ອຍ
ບັນຫາທາງດ້ານເຕັກນິກບໍ່ເຄີຍເປັນສິ່ງທີ່ໜ້າຢ້ານກົວທີ່ສຸດ; ສິ່ງທີ່ໜ້າຢ້ານກົວແທ້ໆແມ່ນການບໍ່ຮູ້ວ່າບັນຫາຢູ່ໃສ.
Memcached ບໍ່ຕອບສະໜອງອາດເບິ່ງຄືວ່າສັບສົນ, ແຕ່ຕົວຈິງແລ້ວມັນສະຫຼຸບໄດ້ສາມຈຸດຫຼັກຄື:ການຈັບຄູ່ເວີຊັນ, ການອັບເດດລະຫັດ, ລຳດັບການເພິ່ງພາອາໄສ.
ການແກ້ໄຂມັນກໍຄືກັບການສ້ອມແປງເຄື່ອງຈັກທີ່ມີຄວາມແມ່ນຍໍາສູງ; ຕາບໃດທີ່ແຕ່ລະຊິ້ນສ່ວນຍັງຢູ່ໃນບ່ອນທີ່ຖືກຕ້ອງ, ເຄື່ອງຈັກທັງໝົດກໍ່ສາມາດກັບຄືນສູ່ສະພາບປົກກະຕິໄດ້.
ໃນຍຸກສະໄໝທີ່ເຕັມໄປດ້ວຍຂໍ້ມູນຂ່າວສານນີ້, ປະສິດທິພາບຂອງເວັບໄຊທ໌ແມ່ນຂໍ້ໄດ້ປຽບໃນການແຂ່ງຂັນ. ການເກັບຂໍ້ມູນໄວ້ໃນຖານຄວາມຈຳບໍ່ພຽງແຕ່ເປັນສິ່ງທີ່ດີເທົ່ານັ້ນ, ແຕ່ຍັງເປັນພື້ນຖານທີ່ກຳນົດປະສົບການຂອງຜູ້ໃຊ້.
ສະນັ້ນຢ່າປ່ອຍໃຫ້ຄວາມຜິດພາດໃນການຕັ້ງຄ່າເລັກໆນ້ອຍໆມາທຳລາຍທຸລະກິດຂອງທ່ານ. ຮຽນຮູ້ຂັ້ນຕອນເຫຼົ່ານີ້ໃຫ້ເກັ່ງ, ແລະທ່ານສາມາດແກ້ໄຂບັນຫາໄດ້ຢ່າງສົມບູນ ແລະ ເຮັດໃຫ້ເວັບໄຊທ໌ຂອງທ່ານເຮັດວຽກໄດ້ຢ່າງราบລื่นອີກຄັ້ງ.
ຄຸນຄ່າຂອງເທັກໂນໂລຢີບໍ່ໄດ້ຢູ່ທີ່ຄວາມສັບສົນຂອງມັນ, ແຕ່ຢູ່ທີ່ຄວາມແມ່ນຍຳຂອງມັນ. ຄວາມຊຳນານທີ່ແທ້ຈິງແມ່ນຢູ່ທີ່ການແກ້ໄຂບັນຫາຕ່າງໆຢ່າງແນ່ນອນ.
ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ບົດຄວາມ "ການແກ້ໄຂບັນຫາເຊີບເວີ Memcached ທີ່ບໍ່ຕອບສະໜອງໃນ PHP 8.4 ໃນ HestiaCP" ທີ່ແບ່ງປັນຢູ່ນີ້ອາດຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-33848.html
