Вырашэнне праблемы неадказнасці сервера Memcached у HestiaCP з дапамогай PHP 8.4

Ваш сайт запавольваецца не з-за занадта вялікай колькасці трафіку, а, верагодна, таму, што бэкенд Memcached зусім не працуе!

Гэта самае непрыемнае: вы абнавіліся да PHP 8.4, але сервер Memcached не рэагуе, а старонкі загружаюцца вельмі павольна. Прычына насамрэч даволі простая — неадпаведнасць пашырэнняў, пратэрмінаваныя ключы і няправільны парадак залежнасцей. Ніжэй я разбяру ўсё рашэнне, каб вы маглі выправіць яго адразу.

Корань праблемы

Пасля абнаўлення PHP да версіі 8.4, калі пашырэнне Memcached не паспявае за абнаўленнямі, яно адразу ж выкіне памылку.

Многія людзі прапусцілі packages.sury.org Праблема ўзнікла з-за таго, што тэрмін дзеяння ключа GPG скончыўся, з-за чаго ўсталявальны пакет не ўдалося загрузіць.

Яшчэ горш, Memcached залежыць ад... igbinarymsgpackПарадак загрузкі павінен выконвацца строга; інакш гэта будзе падобна на тое, як калі б вы паклалі часткі пазла не ў тое месца, што прывядзе да збою ўсяго сэрвісу.

Вырашэнне праблемы неадказнасці сервера Memcached у HestiaCP з дапамогай PHP 8.4

Абнавіць ключ 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 не адказвае можа здацца складаным, але на самой справе ўсё зводзіцца да трох асноўных момантаў:Супастаўленне версій, абнаўленне ключоў, парадак залежнасцей.

Рашэнне гэтай праблемы падобнае да рамонту высокадакладнага рухавіка: пакуль кожная дэталь знаходзіцца на сваім месцы, уся машына можа зноў ажываць.

У наш час, перапоўнены інфармацыяй, прадукцыйнасць вэб-сайта з'яўляецца канкурэнтнай перавагай. Кэшаванне — гэта не проста прыемная асаблівасць, а краевугольны камень, які вызначае карыстальніцкі досвед.

Таму не дазваляйце дробным памылкам канфігурацыі паралізаваць ваш бізнес. Авалодайце гэтымі крокамі, і вы зможаце цалкам вырашыць праблему і зноў вярнуць бесперабойную працу вашага сайта.

Каштоўнасць тэхналогіі заключаецца не ў яе складанасці, а ў яе дакладнасці. Сапраўднае майстэрства заключаецца ў дакладным вырашэнні праблем.

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ Артыкул «Вырашэнне праблемы неадказнага сервера Memcached у PHP 8.4 у HestiaCP», апублікаваны тут, можа быць вам карысным.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-33848.html

Каб адкрыць больш схаваных хітрасцяў🔑, далучайцеся да нашага канала ў Telegram!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш электронны адрас не будзе апублікаваны. 必填 项 已 用 * Этыкетка

Пракрутка да пачатку