Artikkelihakemisto
Verkkosivustosi lakkaa toimimasta, ei luultavasti suuren liikenteen vuoksi, vaan siksi, että Memcached-taustajärjestelmä ei toimi ollenkaan!
Tämä on turhauttavin osa: olet päivittänyt PHP 8.4:ään, mutta Memcached-palvelin ei vastaa ja sivut latautuvat etananvauhtia. Perimmäinen syy on itse asiassa melko yksinkertainen – tiedostopäätteiden yhteensopimattomuus, vanhentuneet avaimet ja väärä riippuvuusjärjestys. Alla erittelen koko ratkaisun, jotta voit korjata sen kerralla.
Ongelman ydin
Kun PHP on päivitetty versioon 8.4, jos Memcached-laajennus ei pysy mukana, se antaa suoraan virheen.
Monet ihmiset jättivät huomiotta packages.sury.org Ongelma johtui vanhentuneesta GPG-avaimesta, jonka seurauksena asennuspaketin lataaminen epäonnistui.
Vielä pahempaa, Memcached on riippuvainen... igbinary 和 msgpackLatausjärjestystä on noudatettava tarkasti; muuten se on kuin palapelin palasia laittaisi väärään paikkaan, mikä aiheuttaa koko palvelun kaatumisen.

Päivitä GPG-avain
Ensimmäinen vaihe on lähdekoodin korjaaminen.
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt update
Tämä vaihe vastaa järjestelmän uudelleenmyöntämistä; ilman sitä kaikki myöhemmät asennukset hylätään.
Debianin virallisen dokumentaation mukaan avaimen vanheneminen on yleinen ongelma ja se on päivitettävä säännöllisesti.
Asenna Memcached-laajennus PHP 8.4:lle
Seuraava vaihe on laajennuksen asentaminen.
apt install -y php8.4-memcached
Huomaa, että version on oltava täsmälleen sama kuin PHP 8.4; muuten ilmenee virhe "määrittelemätön symboli".
Virallisen PHP-laajennuskirjaston dokumentaation mukaan Memcached vaatii uudelleenkääntämisen 8.x-sarjassa yhteensopivuuden varmistamiseksi.
Konfiguraatiotiedostojen kehotteiden käsittely
Asennusprosessin aikana näkyviin tulee ponnahdusikkuna. memcached.ini Valintakehotteet.
Älä muuta tässä mitään, paina vain Enter-näppäintä ja valitse oletusarvo. NSäilytä nykyinen kokoonpano.
这是因为 HestiaCP Sillä on jo oma asetustiedosto; sen pakotettu päällekirjoittaminen aiheuttaa vain virheilmoituksen paneelille.
Korjaa riippuvuuslaajennuksen latausjärjestys
Tämä on ratkaiseva askel.
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
Tilauksen on oltava:igbinary → msgpack → memcached.
Jos järjestys on virheellinen, Memcached raportoi suoraan virheen "moduulia ei voida ladata".
Lukemattomat kehittäjät Stack Overflow'ssa ovat vahvistaneet tämän.
Käynnistä palvelu uudelleen
Viimeinen vaihe on käynnistää uudelleen.
systemctl restart php8.4-fpm
systemctl restart memcached
Tämä vaihe on kuin painaisi järjestelmän päivityspainiketta; vasta sitten kaikki määritykset tulevat todella voimaan.
Tarkista, onnistuiko asennus.
执行:
php8.4 -m | grep memcached
Jos tuloste sisältää memcachedTämä osoittaa, että laajennus on ladattu onnistuneesti.
Tämä tarkoittaa, että HestiaCP-paneelisi on vihdoin saanut takaisin välimuistin tuen ja verkkosivustosi suorituskyky paranee välittömästi.
Johtopäätös: Minun näkökulmani
Tekniset ongelmat eivät ole koskaan pelottavimpia; todella pelottavaa on se, ettei tiedä, missä ongelma on.
Memcachedin vastaamattomuus saattaa vaikuttaa monimutkaiselta, mutta se tiivistyy itse asiassa kolmeen ydinkohtaan:Versioiden yhteensovittaminen, avainten päivitys, riippuvuusjärjestys.
Sen ratkaiseminen on kuin tarkkuusmoottorin korjaamista; niin kauan kuin jokainen osa on oikeassa paikassa, koko kone voi jyristä takaisin eloon.
Tässä tiedon kyllästämässä aikakaudessa verkkosivustojen suorituskyky on kilpailuetu. Välimuisti ei ole vain kiva lisä, vaan kulmakivi, joka määrittää käyttökokemuksen.
Älä siis anna pienten määritysvirheiden lamauttaa liiketoimintaasi. Hallitse nämä vaiheet, niin voit ratkaista ongelman kokonaan ja saada verkkosivustosi toimimaan taas sujuvasti.
Teknologian arvo ei ole sen monimutkaisuudessa, vaan sen tarkkuudessa. Todellinen mestaruus piilee ongelmien ratkaisemisessa tarkasti.
Hope Chen Weiliang -blogi ( https://www.chenweiliang.com/ Tässä jaettu artikkeli "Solving the Unresponsive Memcached Server Issue in PHP 8.4 in HestiaCP" saattaa olla sinulle hyödyllinen.
Tervetuloa jakamaan tämän artikkelin linkki:https://www.chenweiliang.com/cwl-33848.html
