Stručně: Kdo stále provozuje PHP 8.1 nebo starší, nedostává od projektu PHP žádné oficiální bezpečnostní aktualizace, ani pro PHP2Shell. Upgrade PHP 8.1 na podporovanou verzi proto není volitelná záležitost, ale skutečné řešení. Zkontrolujeme vaše aplikace, otestujeme v kopii, migrujeme kontrolovaně a zabezpečíme dobu do té doby.
Proč jsou PHP 8.1 a starší nyní akutním rizikem
Zranitelnosti PHP2Shell CVE-2026-109618 a CVE-2026-109619 umožňují spuštění kódu bez přihlášení. Opraveny jsou v PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pro PHP 8.1 a starší už oficiální aktualizace neexistují, jen minimální zdrojové backporty pro 7.4, 8.0 a 8.1. Podle odborného tisku jsou postiženy téměř všechny verze zpětně až po PHP 5.4.
Některé distribuce a poskytovatelé hostingu nasazují vlastní backporty. Zda k nim patří váš systém, musí poskytovatel potvrdit pro váš konkrétní stav balíčku. Bez tohoto potvrzení byste měli vycházet z toho, že je server otevřený. Co to znamená podrobně, popisuje stránka PHP 8.1 a starší: co nyní platí.
Upgrade PHP 8.1: jaká cílová verze?
Cílem by měla být verze, kterou projekt PHP stále podporuje a kterou vaše aplikace uvolňuje. Aktuální stav podpory zveřejňuje php.net na stránce podporovaných verzí. PHP 8.2 končí 31. 12. 2026; přechod na 8.2 by tedy byl jen mezikrokem s brzkým navazujícím projektem.
Kterou verzi PHP podporuje vaše CMS nebo e-shopový systém, ověřujeme podle systémových požadavků výrobce, například na wordpress.org, shopware.com nebo typo3.org, a ne z paměti. Často je nutné nejprve aktualizovat samotné CMS. Staré e-shopy jsou typický případ, viz Shopware 5: staré e-shopy na staré verzi PHP.
Jak konkrétně pomáhá PHP SOS?
- Inventura a zabezpečení: Zjistíme všechny aplikace, jejich verzi PHP, stav CMS, rozšíření a vlastní kód. Souběžně nastavíme přechodná opatření podle php.net, aby riziko do migrace kleslo; podrobnosti na stránce WAF a virtuální záplatování.
- Kontrola kompatibility: Porovnáme systémové požadavky výrobců, zkontrolujeme závislosti pomocí Composeru a ve vlastním kódu hledáme zastaralé funkce. Jak to vypadá u závislostí, popisuje stránka Kontrola závislostí Composeru na zranitelnosti.
- Test v kopii: Aplikace nejprve běží v testovacím prostředí s novou verzí PHP. Chyby tam opravíme nebo je zdokumentujeme pro vaši agenturu.
- Přepnutí s cestou zpět: Ostré přepnutí proběhne v dohodnutém servisním okně s aktuální zálohou a stanovenou cestou zpět.
- Následná kontrola: Po přepnutí zkontrolujeme chybové protokoly a klíčové funkce a starou verzi PHP odstraníme, pokud už není potřeba.
Neškodný pohled na to, které weby používají kterou verzi PHP, je na mnoha systémech možný přes běžící pooly FPM:
# Zobrazit běžící master procesy a pooly PHP-FPM
ps -eo pid,cmd | grep -E "php-fpm: (master|pool)" | grep -v grep
# Nainstalované verze PHP (Debian/Ubuntu)
ls /etc/php/
Upgrade na novou verzi PHP neodstraní škodlivý software, který byl vložen dříve. Pokud byl server od 17. 10. 2026 nechráněně připojen k síti, patří k tomu kontrola stop.
Typická úskalí při upgradu
Většina problémů při změně verze PHP je předvídatelná, pokud víte, kde hledat:
- Zastaralá rozšíření: Pluginy nebo moduly, které se již neudržují, na novějších verzích PHP často nefungují. Je pro ně potřeba náhrada nebo úprava.
- Vlastní kód: Funkce, které PHP mezitím označilo za zastaralé nebo odstranilo, vedou k varováním nebo pádům. Přísnější kontroly typů odhalí staré programátorské chyby.
- Závislosti: Knihovny zahrnuté přes Composer někdy samy vyžadují nové verze a přinášejí další změny.
- Rozšíření PHP na serveru: Ne každé rozšíření, které bylo nainstalováno u staré verze, je u nové automaticky k dispozici.
- Cron úlohy a příkazová řádka: Web už běží na nové verzi, plánované úlohy ale stále volají starou verzi PHP.
Kdo tyto body zkontroluje předem, zkrátí přepnutí a vyhne se překvapením v ostrém provozu.
Co získáte a co potřebujeme
Získáte přehled všech aplikací s výchozí a cílovou verzí, plán migrace s pořadím a riziky, protokol testů, dokumentaci přepnutí a seznam bodů, které musí ještě udělat vaše agentura nebo vývojář.
Od vás potřebujeme:
- přístup k serveru nebo panelu a přístup do administrace CMS
- přístup ke zdrojovému kódu a repozitáři u vlastních vývojů
- kontakt na agenturu nebo vývojáře, kteří aplikaci znají
- testovací prostředí nebo svolení k jeho vytvoření
- servisní okna a kontaktní osobu pro převzetí
Co neslibujeme
Neslibujeme, že každá stará aplikace poběží na nové verzi PHP bez úprav. U systémů bez dalšího vývoje může být nutná větší přestavba nebo výměna; řekneme to otevřeně, jakmile se to začne rýsovat. Výroky o kompatibilitě opíráme o údaje výrobců. A přechodná opatření nejsou náhradou migrace, jen překlenují čas. Dlouhodobá rizika zastaralých verzí popisuje stránka Konec životnosti PHP: rizika zastaralých verzí.
Časté dotazy
Týká se PHP2Shell i PHP 8.1?
Podle odborného tisku jsou postiženy téměř všechny verze zpětně až po PHP 5.4. Pro PHP 8.1 a starší projekt PHP nevydává oficiální aktualizace, jen minimální zdrojové backporty pro 7.4, 8.0 a 8.1. Některé distribuce nasazují vlastní backporty, to musí potvrdit příslušný poskytovatel.
Na kterou verzi PHP mám upgradovat?
Na verzi, kterou projekt PHP stále aktivně podporuje a kterou vaše aplikace podle systémových požadavků výrobce uvolňuje. PHP 8.2 dosáhne 31. 12. 2026 konce podpory, a proto je jako cíl vhodné jen podmíněně.
Nemohu prostě přepnout verzi PHP v hostingovém panelu?
Technicky to často jde jedním kliknutím. Zda aplikace poté stále běží, závisí na verzi CMS, rozšířeních a vlastním kódu. Bez testu riskujete výpadky nebo chybné funkce, například v pokladně e-shopu.
Co když moje CMS novou verzi PHP nepodporuje?
Pak je nutné nejprve aktualizovat CMS, případně na novou hlavní verzi. U systémů bez dalšího vývoje může být nutná výměna. Do té doby server zabezpečíme přechodnými opatřeními.