Каталог артыкулаў
Ваш сайт запавольваецца не з-за занадта вялікай колькасці трафіку, а, верагодна, таму, што бэкенд Memcached зусім не працуе!
Гэта самае непрыемнае: вы абнавіліся да PHP 8.4, але сервер Memcached не рэагуе, а старонкі загружаюцца вельмі павольна. Прычына насамрэч даволі простая — неадпаведнасць пашырэнняў, пратэрмінаваныя ключы і няправільны парадак залежнасцей. Ніжэй я разбяру ўсё рашэнне, каб вы маглі выправіць яго адразу.
Корань праблемы
Пасля абнаўлення 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 не адказвае можа здацца складаным, але на самой справе ўсё зводзіцца да трох асноўных момантаў:Супастаўленне версій, абнаўленне ключоў, парадак залежнасцей.
Рашэнне гэтай праблемы падобнае да рамонту высокадакладнага рухавіка: пакуль кожная дэталь знаходзіцца на сваім месцы, уся машына можа зноў ажываць.
У наш час, перапоўнены інфармацыяй, прадукцыйнасць вэб-сайта з'яўляецца канкурэнтнай перавагай. Кэшаванне — гэта не проста прыемная асаблівасць, а краевугольны камень, які вызначае карыстальніцкі досвед.
Таму не дазваляйце дробным памылкам канфігурацыі паралізаваць ваш бізнес. Авалодайце гэтымі крокамі, і вы зможаце цалкам вырашыць праблему і зноў вярнуць бесперабойную працу вашага сайта.
Каштоўнасць тэхналогіі заключаецца не ў яе складанасці, а ў яе дакладнасці. Сапраўднае майстэрства заключаецца ў дакладным вырашэнні праблем.
Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ Артыкул «Вырашэнне праблемы неадказнага сервера Memcached у PHP 8.4 у HestiaCP», апублікаваны тут, можа быць вам карысным.
Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-33848.html
