Lühidalt: Vanu PHP versioone lülitate kõige ohutumalt välja kolmes etapis: selgitage kasutus, blokeerige versioon ja jälgige, alles siis eemaldage. Pleskis saab handleri esmalt deaktiveerida, nii et seda ei saa enam valida, ja hiljem eemaldada jaotises Updates ja Components. Iga eemaldatud versioon on üks vähem, mida peate järgmise turvaaugu, nagu PHP2Shell, korral paikama ja taaskäivitama.
Miks koristada just praegu?
Nädal pärast PHP2Shelli on paljudele administraatoritele näidanud, kui palju PHP versioone nende serverites on paigaldatud. Igaüht tuli kontrollida, igaüks vajas uuendust või vahemeetmeid, iga teenus taaskäivitust. PHP 8.1 ja vanemate jaoks on olemas ainult minimaalsed lähtekoodi backportid, PHP 8.2 toetus lõpeb 31.12.2026.
Selle kogemusega värskelt meeles on õige hetk koristada. Kuidas üldse kõik paigaldused leida, kirjeldab artikkel Mitu PHP versiooni ühes serveris. Siin on juttu järgmisest sammust: kontrollitud väljalülitamisest.
1. etapp: kasutuse selgitamine
Enne kui midagi välja lülitate, peate teadma, kes versiooni kasutab. Veebisaidid on ilmne osa. Vähem nähtavad on alamdomeenid, testpaigaldused, cron-tööd, skriptid ja paneeli komponendid.
Pleskis loetleb käsk plesk bin php_handler --list kõik registreeritud handlerid. Valikuga --get-usage näitab Plesk dokumentatsiooni kohaselt, millised domeenid teatud handlerit kasutavad. Kumbki käsk ei muuda midagi.
# Plesk: kõik handlerid ja domeenid, mis handlerit kasutavad
plesk bin php_handler --list
plesk bin php_handler --get-usage -id <handler-id>
# Üldiselt: cron-tööd, mis kutsuvad kindlat PHP versiooni
grep -rE "php(7|8\.0|8\.1)" /etc/crontab /etc/cron.d /var/spool/cron 2>/dev/null
Kontrollige lisaks asjaomaste veebisaitide juurdepääsulogisid: testpaigaldus, mis ei ole kuude jooksul päringut saanud, on kandidaat eemaldamiseks, mitte migreerimiseks. Märkige iga vana versiooni kohta, kes seda kasutab ja miks.
Küsige ka nendelt inimestelt, kes veebisaitidega töötavad. Toimetused, agentuurid ja erialaosakonnad teavad sageli protsesse, mida ühelgi nimekirjas pole: iga-aastane eksport raamatupidamisele, messivorm, liides kaubamajandussüsteemiga. Mis seal vanale versioonile toetub, jääb muidu märkamata, kuni see puudu jääb.
2. etapp: blokeerimine ja jälgimine
Vaheetapp takistab versiooni uuesti määramist, seda kohe kustutamata. Pleskis on selleks võimalus üksikuid handlereid deaktiveerida. Plesk dokumentatsiooni kohaselt ei saa deaktiveeritud handlerit veebisaidi PHP seadetes enam valida; versioon jääb paigaldatuks. Käsureal tehakse seda käsuga plesk bin php_handler --disable -id <handler-id>.
Domeenid, mis vana versiooni veel kasutavad, viige eelnevalt vastutajatega kooskõlastatult toetatud versioonile. Kuidas see veebisaidi haldaja vaatenurgast välja näeb, kirjeldab artikkel PHP versiooni muutmine majutuse kliendialas. Sobiva handleri valiku selgitab artikkel Plesk: PHP-handlerite mõistmine.
Vaatlusperioodil jälgige logide veateateid, ärajäävaid cron-tööde tulemusi ja kasutajate tagasisidet. Teistes paneelides on funktsioonide nimed erinevad; vaadake seal tootja dokumentatsiooni.
Määrake vaatlusperioodi lõpp tähtajana ja nimetage, kes pärast seda eemaldamise kinnitab. Muidu saab vaheetapist püsiseisund ja vana versioon jääb serverisse ikkagi alles.
3. etapp: eemaldamine
Alles kui vaatlusperiood on möödunud ilma tähelepanekuteta, eemaldage versioon täielikult. Pleskis tehakse seda dokumentatsiooni kohaselt jaotises Tools & Settings, Updates, Add/Remove Components, valdkonnas Web hosting PHP interpretaatori versioonide juures. Paigaldatud versioonid on seal märgitud ja eemaldamiseks valitavad.
Paneelita serverites täidab selle ülesande paketihaldus. Varundage enne versiooni seadistus, näiteks /etc/php/7.4/ Debianis ja Ubuntus, et hädaolukorras oleks jälgitav, millised sätted kehtisid.
# Seadistuse varundamine, seejärel haru pakettide eemaldamine (näide Debian/Ubuntu, PHP 7.4)
tar czf /root/php74-konfiguration.tar.gz /etc/php/7.4/
apt remove 'php7.4*'
Pärast eemaldamist tasub kontrollida. Pleskis soovitab dokumentatsioon käsku plesk bin php_handler --reread, et handleri andmed pärast PHP binaaride muudatusi uuesti sisse lugeda. Kontrollige lisaks, kas teenusepaketid viitavad veel eemaldatud versioonile.
Tüüpilised komistuskivid
| Komistuskivi | Kuidas seda ära tunda | Mis aitab |
|---|---|---|
| Paneeli komponent sõltub versioonist | Paneel teatab eemaldamisel sõltuvusest | Viige komponent esmalt üle või jätke versioon alles |
| Teenusepakett viitab vanale versioonile | Uued veebisaidid saavad vana versiooni või veateate | Kohandage pakett, seejärel eemaldage versioon |
| Cron-töö kutsub fikseeritud teed | Skript ebaõnnestub pärast eemaldamist | Muutke tee toetatud versiooni peale |
| Rakendus ei tööta uuel versioonil | Viga vealogis pärast üleminekut | Uuendage või migreerige rakendus |
Kui rakendust ei saa toetatud versioonile tõsta, ei ole vana versiooni väljalülitamine enam seadistusküsimus, vaid migratsiooniprojekt. Aegunud harude riske kirjeldab juhend PHP End-of-Life: aegunud versioonide riskid.
Järgmine kandidaat on juba teada
Koristamine ei ole ühekordne tegevus. Juba 31.12.2026 langeb PHP 8.2 PHP projekti toetusest välja. Kes eemaldab nüüd versioonid kuni 8.1, peaks samas hoos otsustama, kuidas 8.2-ga edasi. Muidu algab sama mäng mõne nädala pärast otsast.
Serveris on end tõestanud lihtne reegel: pakutakse ainult harusid, mida PHP projekt toetab. Iga haru saab seadistamisel kuupäeva, millal seda uuesti kontrollitakse, lähtudes toetuse lõpust php.net-is. Selle tsükli tausta selgitab leht PHP versioonid ja väljalasketsükkel.
Kes on veebimajutaja või agentuurina serveris kliente, peaks neid varakult teavitama. Kuupäevaga teade, palve üle minna ja pakkumine tuge anda hoiavad ära veebisaitide katkemise tähtpäeval. Kliendid, kelle rakendus kaasa ei tule, saavad nii õigel ajal teada, et uuendus või migratsioon on ees, ja saavad selleks plaani teha.
Kuidas PHP SOS konkreetselt aitab?
- Selgitame, millised veebisaidid, cron-tööd ja paneeli komponendid millist PHP versiooni kasutavad.
- Viime domeenid kooskõlastatult toetatud versioonidele ja blokeerime vanad handlerid.
- Pärast vaatlusperioodi eemaldame vanad versioonid kontrollitult ja kontrollime tulemust.
- Kus rakendused kaasa ei tule, planeerime PHP 8.1 ja vanemate migratsiooni.
Korduma kippuvad küsimused
Miks peaksin kasutamata PHP versioonid eemaldama?
Iga paigaldatud versiooni tuleb iga turvaaugu korral kontrollida, uuendada ja taaskäivitada. Vanad harud nagu PHP 8.1 ja vanemad ei saa PHP projektilt enam uuendusi. Kasutamata versioonid toovad ainult riski ja lisatööd.
Mis vahe on deaktiveerimisel ja eemaldamisel?
Deaktiveerimisel jääb versioon paigaldatuks, kuid seda ei saa enam uuesti valida. Eemaldamisel kustutatakse see serverist. Deaktiveerimine on ohutu vaheetapp, et näha, kas midagi jääb puudu.
Kas PHP versiooni eemaldamine võib paneeli funktsioone häirida?
Jah. Mõned paneeli komponendid, näiteks veebipost või haldustööriistad, sõltuvad kindlast PHP versioonist. Selgitage sellised sõltuvused enne eemaldamist, paneel osutab neile üldjuhul.
Kui kaua peaks vaatlusperiood kestma?
Nii kaua, et kõik korrapärased protsessid on vähemalt korra töötanud, sealhulgas igakuised cron-tööd ja ekspordid. Määrake kestus kindlaks erialaosakondadega.