ລາຍການຫົວເລື່ອງ
ພົບ HestiaCP ການເລີ່ມຕົ້ນ PHP 8.4-FPM ຄືນໃໝ່ເຮັດໃຫ້ເກີດຄວາມຜິດພາດ: ຄວາມຜິດພາດ: ການເລີ່ມຕົ້ນ php8.4-fpm ຄືນໃໝ່.aiກ້ອນ?
ບົດຄວາມນີ້ໃຫ້ການວິເຄາະຢ່າງເລິກເຊິ່ງກ່ຽວກັບການຍົກລະດັບ. 1.9.1 ນີ້ແກ້ໄຂບັນຫາທົ່ວໄປເຊັ່ນ: ການເພິ່ງພາອາໄສທີ່ຂາດຫາຍໄປ, ໄຟລ໌ການຕັ້ງຄ່າທີ່ລ້າສະໄໝ, ແລະ ຂໍ້ຂັດແຍ່ງຂອງຊັອກເກັດ, ແລະ ໃຫ້ຂັ້ນຕອນການສ້ອມແປງ ແລະ ວິທີການແກ້ໄຂບັນຫາບັນທຶກທີ່ສົມບູນ.ຜ່ານປະສົບການຕົວຈິງ ແລະ ເອກະສານທີ່ມີສິດອຳນາດ, ພວກເຮົາຊ່ວຍທ່ານຟື້ນຟູຄວາມໝັ້ນຄົງຂອງເຊີບເວີໄດ້ຢ່າງວ່ອງໄວ, ຫຼີກລ່ຽງການຂັດຂວາງທາງທຸລະກິດ, ແລະ ເປັນແມ່ບົດໃນການແກ້ໄຂບັນຫາສຸດທ້າຍ.
ເມື່ອ server ລາຍງານແລ້ວ ຂໍ້ຜິດພາດ: ຂໍ້ຜິດພາດ: ການເລີ່ມຕົ້ນໃໝ່ຂອງ php8.4-fpm ລົ້ມເຫຼວຊ່ວງເວລານັ້ນເຄັ່ງຕຶງຄືກັບຫົວໃຈວາຍກະທັນຫັນ. (ຢູ)
ມັນຢູ່ໃນການຍົກລະດັບ ເຮສເຕຍຊີພີ 1.9.1 ຫຼັງຈາກນັ້ນ, ບັນຫານີ້ໄດ້ເກີດຂຶ້ນເລື້ອຍໆ, ແລະສາເຫດທີ່ຕິດພັນກັນແມ່ນມີຄວາມສັບສົນຫຼາຍກ່ວາທີ່ປາກົດຢູ່ເທິງໜ້າດິນ.
ເປັນຫຍັງຄວາມຜິດພາດນີ້ເກີດຂຶ້ນ?
ປະຕິກິລິຍາທຳອິດຂອງຫຼາຍຄົນແມ່ນ "PHP ຂັດຂ້ອງບໍ?" ຕົວຈິງແລ້ວ, ຄວາມຜິດພາດນີ້ມັກຈະເກີດຈາກ... ການຕິດຕັ້ງບໍ່ຄົບຖ້ວນ, ໄຟລ໌ການຕັ້ງຄ່າທີ່ຂາດຫາຍໄປ, ສະຄຣິບທີ່ລ້າສະໄໝ, ຫຼື ຂໍ້ຂັດແຍ່ງຂອງຊັອກເກັດ.ເວົ້າອີກຢ່າງໜຶ່ງ, ບັນຫາບໍ່ແມ່ນຢູ່ກັບ PHP ເອງ, ແຕ່ກັບ... ການເຊື່ອມໂຍງເຄື່ອງມືສິ່ງແວດລ້ອມ ແລະ ການຄຸ້ມຄອງ.
ສາເຫດທົ່ວໄປ ແລະ ວິທີແກ້ໄຂທີ່ສອດຄ້ອງກັນ

1. ການຕິດຕັ້ງ PHP 8.4 ບໍ່ຄົບຖ້ວນ
ນີ້ແມ່ນຄຳຕິຊົມທີ່ພົບເລື້ອຍທີ່ສຸດໃນເວທີສົນທະນາ. ຫຼັງຈາກການອັບເກຣດ, ບາງແພັກເກດ dependency ບໍ່ໄດ້ຖືກຕິດຕັ້ງຢ່າງຄົບຖ້ວນ, ເຊິ່ງສົ່ງຜົນໃຫ້... php8.4-fpm ບໍ່ສາມາດເລີ່ມຕົ້ນໄດ້ຕາມປົກກະຕິ.
ວິທີແກ້ໄຂ: ຕິດຕັ້ງ PHP 8.4 ຄືນໃໝ່
# 删除现有 PHP 8.4
v-delete-web-php 8.4
# 更新系统包
apt-get update && apt-get upgrade -y
# 重新添加 PHP 8.4
v-add-web-php 8.4
ຖ້າມັນຍັງລົ້ມເຫຼວ, ທ່ານຈະຕ້ອງຕິດຕັ້ງ dependencies ດ້ວຍຕົນເອງ:
apt-get install php8.4-common php8.4-mbstring php8.4-bcmath php8.4-cli php8.4-curl php8.4-fpm php8.4-gd php8.4-intl php8.4-mysql php8.4-soap php8.4-xml php8.4-zip php8.4-bz2 php8.4-pspell php8.4-imagick php8.4-imap php8.4-ldap php8.4-apcu
ອີງຕາມ ເອກະສານທາງການຂອງ Debianເອກະສານລະບຸວ່າ: "ແພັກເກດການເພິ່ງພາອາໄສທີ່ຂາດຫາຍໄປຈະປ້ອງກັນບໍ່ໃຫ້ບໍລິການ FPM ລົງທະບຽນຊັອກເກັດ, ເຊິ່ງເຮັດໃຫ້ເກີດຄວາມຜິດພາດ." (ແຫຼ່ງຂໍ້ມູນ: ບັນທຶກແພັກເກດ Debian)
2. ໄຟລ໌ການຕັ້ງຄ່າ HestiaCP ບໍ່ໄດ້ຮັບການອັບເດດ.
HestiaCP ບໍ່ຮອງຮັບ PHP 8.4 ຢ່າງເຕັມທີ່ໂດຍຄ່າເລີ່ມຕົ້ນ; ການດັດແກ້ສະຄຣິບດ້ວຍຕົນເອງແມ່ນຈຳເປັນ.
ໄຟລ໌ທີ 1: /usr/local/hestia/bin/v-run-cli-cmd
ຮັບປະກັນວ່າມັນປະກອບມີ php8.4 ການກວດສອບການອະນຸຍາດ:
"$basecmd" != 'php8.4' -a \
ໄຟລ໌ທີ 2: /usr/local/hestia/bin/v-restart-service
ໃຫ້ແນ່ໃຈວ່າການບໍລິການຕໍ່ໄປນີ້ລວມຢູ່ໃນລາຍຊື່ການບໍລິການ:
"$service" = "php8.4-fpm" -o \
ຂັ້ນຕອນນີ້ແມ່ນສຳຄັນຫຼາຍ; ຖ້າບໍ່ດັ່ງນັ້ນ, HestiaCP ຈະບໍ່ພະຍາຍາມເລີ່ມຕົ້ນ PHP8.4-FPM ໃໝ່.
3. ບັນຫາການຂັດແຍ່ງຂອງຊັອກເກັດ
ຈະເກີດຂໍ້ຂັດແຍ່ງຖ້າ PHP ຫຼາຍລຸ້ນໃຊ້ເສັ້ນທາງຊັອກເກັດດຽວກັນ.
ກວດສອບການຕັ້ງຄ່າ:
cat /etc/php/8.4/fpm/pool.d/www.conf | grep listen
ໃຫ້ແນ່ໃຈວ່າເສັ້ນທາງນັ້ນເປັນເອກະລັກ, ຕົວຢ່າງ:
listen = /run/php/php8.4-fpm.sock
ອີງຕາມ ຄູ່ມື PHP ຢ່າງເປັນທາງການ"ແຕ່ລະລຸ້ນ FPM ຕ້ອງໄດ້ຜູກມັດກັບຊັອກເກັດເອກະລາດ; ຖ້າບໍ່ດັ່ງນັ້ນ, ການຂັດແຍ້ງການບໍລິການຈະເກີດຂຶ້ນ." (ແຫຼ່ງຂໍ້ມູນ: ເອກະສານ PHP-FPM)
4. ເບິ່ງບັນທຶກຄວາມຜິດພາດລະອຽດ
ບັນທຶກແມ່ນທາງເລືອກສຸດທ້າຍສຳລັບການສືບສວນ.
systemctl status php8.4-fpm.service
journalctl -xeu php8.4-fpm.service
cat /var/log/php8.4-fpm.log
ບັນທຶກສາມາດໃຫ້ຂໍ້ມູນທີ່ແນ່ນອນ.ການຈັດຕໍາ ແໜ່ງບັນຫາຕ່າງໆ ເຊັ່ນວ່າ ຄວາມຜິດພາດຂອງ syntax ຂອງໄຟລ໌ການຕັ້ງຄ່າ, ສິດອະນຸຍາດບໍ່ພຽງພໍ, ຫຼື ຂາດ dependencies.
ຂັ້ນຕອນການສືບສວນທີ່ແນະນຳ
- ກ່ອນອື່ນໝົດ, ໃຫ້ກວດເບິ່ງບັນທຶກ. → ຢືນຢັນສາເຫດຂອງຄວາມຜິດພາດ.
- ໄຟລ໌ການຕັ້ງຄ່າທີ່ຂາດຫາຍໄປ → ຕິດຕັ້ງ PHP 8.4 ຄືນໃໝ່.
- ສະຄຣິບບໍ່ໄດ້ຖືກອັບເດດ → ແກ້ໄຂ HestiaCP
v-run-cli-cmdທຽບກັບv-restart-service.
- ສະຄຣິບບໍ່ໄດ້ຖືກອັບເດດ → ແກ້ໄຂ HestiaCP
- ການຂັດກັນຂອງຊັອກເກັດ → ແກ້ໄຂ
www.confຂອງlistenເສັ້ນທາງ.
- ການຂັດກັນຂອງຊັອກເກັດ → ແກ້ໄຂ
ລຳດັບນີ້ຫຼີກລ່ຽງການປະຕິບັດງານແບບຕາບອດ ແລະ ປະຫຍັດເວລາໄດ້ຫຼາຍ.
ທັດສະນະແລະບົດສະຫຼຸບຂອງຂ້ອຍ
ບັນຫາທາງດ້ານເຕັກນິກບໍ່ເຄີຍເປັນຂໍ້ບົກພ່ອງດຽວ, ແຕ່ແມ່ນ... ຄວາມລົ້ມເຫຼວຂອງການຮ່ວມມືຢ່າງເປັນລະບົບບັນຫາຄວາມເຂົ້າກັນໄດ້ລະຫວ່າງ HestiaCP ແລະ PHP 8.4 ເຕືອນພວກເຮົາວ່າການອັບເກຣດບໍ່ພຽງແຕ່ກ່ຽວກັບການປັບປຸງໜ້າທີ່ເທົ່ານັ້ນ, ແຕ່ຍັງກ່ຽວກັບການເປີດເຜີຍຄວາມສ່ຽງອີກດ້ວຍ.
ຂ້ອຍເຊື່ອວ່າກຸນແຈສຳຄັນໃນການແກ້ໄຂບັນຫາປະເພດນີ້ແມ່ນຢູ່ທີ່ ການກວດສອບແບບມີໂຄງສ້າງຢ່າຟ້າວຟັ່ງ; ແທນທີ່ຈະເຮັດແນວນັ້ນ, ຄືກັບທ່ານໝໍທີ່ກວດຫາພະຍາດ, ຄ່ອຍໆກຳຈັດຄວາມເປັນໄປໄດ້ອອກໄປ.
ດັ່ງທີ່ Hegel ໄດ້ກ່າວໄວ້ວ່າ, "ຄວາມຈິງມີຢູ່ໃນຄວາມສົມບູນ."
ມີພຽງການລວມການຕິດຕັ້ງ, ການຕັ້ງຄ່າ, ສະຄຣິບ ແລະ ບັນທຶກເທົ່ານັ້ນທີ່ສາມາດພົບຄຳຕອບໄດ້ຢ່າງແທ້ຈິງ.
ສຸດທ້າຍ, ຂ້າພະເຈົ້າຂໍເນັ້ນໜັກຈຸດໜຶ່ງຄື:ສະພາບແວດລ້ອມເຊີບເວີທີ່ໝັ້ນຄົງແມ່ນເສັ້ນຊີວິດຂອງທຸລະກິດ.ທຸກໆຂໍ້ຜິດພາດແມ່ນການເຕືອນ. ແທນທີ່ຈະແກ້ໄຂບັນຫາແບບບໍ່ມີປະຕິກິລິຍາ, ໃຫ້ປັບປຸງໃຫ້ດີທີ່ສຸດ. ປະຕິບັດ: ກວດສອບການຕັ້ງຄ່າຂອງທ່ານ, ອັບເດດສະຄຣິບຂອງທ່ານ, ແລະ ເຮັດໃຫ້ລະບົບຂອງທ່ານແຂງແກ່ນແທ້ໆ.
ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ບົດຄວາມ "ວິທີການແກ້ໄຂຂໍ້ຜິດພາດໃນການເລີ່ມຕົ້ນລະບົບໃໝ່ຂອງ HestiaCP PHP8.4-FPM" ທີ່ແບ່ງປັນຢູ່ນີ້ອາດຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-33864.html
