Röviden: A régi PHP-verziókat a legbiztonságosabban három fázisban kapcsolja ki: a használat felmérése, a verzió tiltása és megfigyelése, és csak azután az eltávolítás. A Pleskben egy handler először kikapcsolható, így többé nem választható, később pedig a Frissítések és összetevők menüpont alatt eltávolítható. Minden eltávolított verzió eggyel kevesebb, amelyet a következő résnél, mint a PHP2Shell, javítani és újraindítani kell.
Miért éppen most érdemes takarítani?
A PHP2Shell utáni hét sok rendszergazdának megmutatta, hány PHP-verzió van telepítve a szervereiken. Mindegyiket ellenőrizni kellett, mindegyikhez frissítés vagy átmeneti intézkedés kellett, minden szolgáltatást újra kellett indítani. A PHP 8.1-hez és a régebbiekhez csak minimális forráskód-backportok vannak, a PHP 8.2 támogatása 2026. december 31-én ér véget.
Ezzel az élménnyel a friss emlékezetben most van itt a megfelelő pillanat a takarításra. Hogy egyáltalán hogyan találja meg az összes telepítést, azt a Több PHP-verzió egy szerveren cikk írja le. Itt a következő lépésről van szó: az ellenőrzött kikapcsolásról.
1. fázis: a használat felmérése
Mielőtt bármit kikapcsol, tudnia kell, ki használ egy verziót. A weboldalak az egyértelmű rész. Kevésbé láthatók az aldomainek, a tesztkörnyezetek, a cron-feladatok, a szkriptek és a panel összetevői.
A Pleskben a plesk bin php_handler --list parancs felsorolja az összes regisztrált handlert. A --get-usage kapcsolóval a Plesk a dokumentáció szerint megmutatja, mely domainek használnak egy adott handlert. Mindkét parancs olvas, semmit sem változtat.
# Plesk: az összes handler és a handlert használó domainek
plesk bin php_handler --list
plesk bin php_handler --get-usage -id <handler-id>
# Általánosan: meghatározott PHP-verziót hívó cron-feladatok
grep -rE "php(7|8\.0|8\.1)" /etc/crontab /etc/cron.d /var/spool/cron 2>/dev/null
Ellenőrizze emellett az érintett weboldalak hozzáférési naplóit: az a tesztkörnyezet, amely hónapok óta nem kapott kérést, az eltávolítás jelöltje, nem a migrálásé. Jegyezze fel minden régi verzióhoz, ki használja és miért.
Kérdezze meg azokat is, akik a weboldalakkal dolgoznak. A szerkesztőségek, ügynökségek és szakterületek gyakran ismernek olyan folyamatokat, amelyek egyetlen listán sem szerepelnek: az éves export a könyveléshez, az űrlap egy kiállításhoz, az interfész az áruügyviteli rendszerhez. Ami ott egy régi verzióhoz kötődik, az másképp csak akkor tűnik fel, amikor hiányzik.
2. fázis: tiltás és megfigyelés
A köztes lépés megakadályozza, hogy egy verziót újra hozzárendeljenek, anélkül hogy azonnal törölné. A Pleskben erre lehetőség van az egyes handlerek kikapcsolásával. A Plesk-dokumentáció szerint egy kikapcsolt handler egy weboldal PHP-beállításaiban már nem választható ki; a verzió telepítve marad. A parancssorban ezt a plesk bin php_handler --disable -id <handler-id> paranccsal teheti meg.
Azokat a domaineket, amelyek még a régi verziót használják, előzetesen a felelősökkel egyeztetve állítsa át egy támogatott verzióra. Hogyan néz ez ki a weboldal üzemeltetőjének szemszögéből, azt a PHP-verzió módosítása a tárhely ügyfélterületén cikk írja le. A megfelelő handler kiválasztását a Plesk: a PHP-handlerek megértése cikk magyarázza.
A megfigyelési idő alatt figyelje a naplók hibaüzeneteit, a kimaradó cron-feladatok eredményeit és a felhasználók visszajelzéseit. Más paneleken a funkciók másképp hívják; ott nézze meg a gyártói dokumentációt.
Határozza meg a megfigyelési idő végét határidőként, és nevezze meg, ki engedélyezi utána az eltávolítást. Különben a köztes lépésből tartós állapot lesz, és a régi verzió mégis a szerveren marad.
3. fázis: eltávolítás
Csak ha a megfigyelési idő feltűnés nélkül eltelt, távolítsa el a verziót teljesen. A Pleskben ez a dokumentáció szerint a Tools & Settings, Updates, Add/Remove Components menüpont alatt történik, a Web hosting területen a PHP-értelmező verzióinál. A telepített verziók ott meg vannak jelölve, és eltávolításra kijelölhetők.
Panel nélküli szervereken ezt a csomagkezelő végzi. Előtte mentse a verzió konfigurációját, például a /etc/php/7.4/ könyvtárat Debian és Ubuntu alatt, hogy vészhelyzetben vissza lehessen követni, milyen beállítások érvényesek.
# Konfiguráció mentése, majd egy ág csomagjainak eltávolítása (példa: Debian/Ubuntu, PHP 7.4)
tar czf /root/php74-konfiguration.tar.gz /etc/php/7.4/
apt remove 'php7.4*'
Az eltávolítás után érdemes ellenőrizni. A Pleskben a dokumentáció a plesk bin php_handler --reread parancsot javasolja, hogy a handler-információkat a PHP-binárisok módosítása után újra beolvassa. Ellenőrizze azt is, hogy a szolgáltatáscsomagok nem hivatkoznak-e még az eltávolított verzióra.
Tipikus buktatók
| Buktató | Miről ismeri fel | Mi segít |
|---|---|---|
| A panel egyik összetevője a verzióhoz kötődik | A panel függőséget jelez az eltávolításkor | Az összetevőt először át kell állítani, vagy meg kell tartani a verziót |
| A szolgáltatáscsomag a régi verzióra hivatkozik | Az új weboldalak a régi verziót vagy hibaüzenetet kapnak | A csomagot módosítani kell, utána eltávolítani a verziót |
| A cron-feladat rögzített útvonalat hív | A szkript az eltávolítás után hibázik | Az útvonalat egy támogatott verzióra kell módosítani |
| Az alkalmazás nem fut az új verzión | Hiba az átállítás után a hibanaplóban | Az alkalmazást frissíteni vagy migrálni kell |
Ha egy alkalmazást nem lehet támogatott verzióra emelni, a régi verzió kikapcsolása már nem konfigurációs téma, hanem migrációs projekt. Az elavult ágak kockázatait a PHP end-of-life: az elavult verziók kockázatai útmutató írja le.
A következő jelölt már ismert
A takarítás nem egyszeri akció. A PHP 8.2 már 2026. december 31-én kikerül a PHP-projekt támogatásából. Aki most a 8.1-ig eltávolítja a verziókat, ugyanabban a lépésben döntse el azt is, mi lesz a 8.2-vel. Különben ugyanaz a játék néhány hét múlva elölről kezdődik.
A szerverre egyszerű szabály vált be: csak olyan ágakat kínáljon, amelyeket a PHP-projekt támogat. Minden ág a beállításakor kap egy dátumot, amikor újra ellenőrzik, a php.net szerinti támogatási véghez igazodva. Ennek a ciklusnak a hátterét a PHP-verziók és kiadási ciklus oldal magyarázza.
Aki tárhelyszolgáltatóként vagy ügynökségként ügyfeleket tart a szerveren, tájékoztassa őket korán. Egy dátummal ellátott bejelentés, az átállásra vonatkozó kérés és egy támogatási ajánlat megakadályozza, hogy a határnapon weboldalak essenek ki. Azok az ügyfelek, akiknek az alkalmazása nem tart velük, így időben felismerik, hogy frissítés vagy migráció következik, és tervezhetnek vele.
Hogyan segít konkrétan a PHP SOS?
- Felmérjük, mely weboldalak, cron-feladatok és panel-összetevők melyik PHP-verziót használják.
- Egyeztetve támogatott verzióra állítjuk át a domaineket, és tiltjuk a régi handlereket.
- A megfigyelési idő után ellenőrzötten eltávolítjuk a régi verziókat, és ellenőrizzük az eredményt.
- Ahol az alkalmazások nem tartanak velünk, megtervezzük a PHP 8.1 és régebbi verziók migrálását.
Gyakori kérdések
Miért érdemes eltávolítani a nem használt PHP-verziókat?
Minden telepített verziót minden résnél ellenőrizni, frissíteni és újraindítani kell. A régi ágak, mint a PHP 8.1 és a régebbiek, már nem kapnak frissítést a PHP-projekttől. A nem használt verziók csak kockázatot és ráfordítást jelentenek.
Mi a különbség a kikapcsolás és az eltávolítás között?
Kikapcsoláskor a verzió telepítve marad, de újra már nem választható ki. Eltávolításkor törlődik a szerverről. A kikapcsolás a biztonságos köztes lépés annak megfigyelésére, hogy hiányzik-e valami.
Zavarhatja egy PHP-verzió eltávolítása a panel funkcióit?
Igen. A panel egyes összetevői, például a webmail vagy a felügyeleti eszközök, egy meghatározott PHP-verzióhoz kötődnek. Az ilyen függőségeket az eltávolítás előtt tisztázza, a panel ezt általában jelzi.
Meddig tartson a megfigyelési idő?
Addig, amíg az összes rendszeres folyamat legalább egyszer lefutott, vagyis a havi cron-feladatok és exportok is. A időtartamot a szakterületekkel együtt határozza meg.