Aktuálna situácia: PHP2Shell. Dve kritické zraniteľnosti PHP (CVSS 9.2) umožňujú spustenie škodlivého kódu bez prihlásenia. Záplaty od 21. 10. 2026.Čo treba urobiť teraz →

Po aktualizácii: reštart PHP-FPM a všetkých workerov

Aktualizácia PHP zaberie až po reštarte všetkých procesov PHP. Príkazy pre PHP-FPM, Apache, LiteSpeed a kontajnery a ako reštart overiť.

Stav 4 min čítaniaPHP2Shell

Stručne: Po aktualizácii PHP musíte reštartovať PHP-FPM a všetky ostatné služby, ktoré načítavajú PHP. Nové súbory na pevnom disku nestačia, kým v pamäti bežia staré procesy PHP. Až po reštarte pracuje server s opraveným kódom PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 alebo s backportom vášho poskytovateľa.

Prečo musíte PHP-FPM reštartovať

Aktualizácia balíka nahradí súbory na pevnom disku. Procesy, ktoré už bežia, však majú starý programový kód načítaný v pamäti a pracujú s ním ďalej. PHP-FPM, Apache s mod_php alebo LiteSpeed držia svojich workerov často pri živote celé dni.

Pre PHP2Shell je to obzvlášť dôležité. Zraniteľnosť CVE-2026-109619 závisí práve od stavu, ktorý medzi požiadavkami v tom istom workerovi zostáva zachovaný. Worker so starým kódom zostáva zraniteľný bez ohľadu na to, ktorá verzia leží na disku. Podľa php.net sa preto musia reštartovať všetci workery a procesy.

Niektoré správcovské balíkové systémy služby pri aktualizácii automaticky reštartujú, iné nie. Nespoliehajte sa na to, ale výsledok skontrolujte.

Typický obraz z bežnej praxe: správa balíkov hlási „PHP aktualizované“, monitoring nezobrazuje žiadne chyby, web beží. Napriek tomu starí workeri naďalej obsluhujú každú požiadavku, pretože nikto službu nereštartoval. Zvonka tento stav nemožno rozpoznať. Preto ku každej aktualizácii patrí kontrola časov spustenia procesov.

Ktoré služby načítavajú PHP?

Spôsob prevádzky Čo reštartovať Typický príkaz (názvy sa líšia podľa distribúcie)
PHP-FPM každú službu FPM, pre každú nainštalovanú verziu systemctl restart php8.3-fpm alebo systemctl restart php-fpm
Apache s mod_php Apache systemctl restart apache2 alebo systemctl restart httpd
php-cgi volajúci webový server, resp. wrapper FastCGI podľa nastavenia
LiteSpeed LiteSpeed a procesy lsphp cez správu LiteSpeed alebo jeho službu
FrankenPHP službu FrankenPHP alebo kontajner systemctl restart frankenphp alebo kontajner vytvoriť znova
Docker, Kubernetes kontajnery vytvoriť znova z nového image pozri Záplatovanie PHP v kontajneroch Docker

Pri mod_php platí: aktualizácia sa týka samotného Apache, pretože PHP sedí v každom procese Apache. Prečo je tento spôsob prevádzky obzvlášť citlivý, nájdete na stránke Prečo nesie mod_php najvyššie riziko. Podrobnosti k LiteSpeed nájdete na stránke LiteSpeed a LSAPI.

Reštart PHP-FPM: príkazy

Najprv nájdite všetky služby PHP na serveri. Plesk, cPanel a iné rozhrania prinášajú vlastné služby PHP s vlastnými názvami; zoznam ich zobrazí tiež.

systemctl list-units --type=service | grep -i -E "php|lsws|litespeed|frankenphp|apache2|httpd"

Potom reštartujte každú nájdenú službu PHP, nielen prvú:

sudo systemctl restart php8.3-fpm
sudo systemctl restart php8.2-fpm      # ak je nainštalovaná druhá vetva
sudo systemctl restart apache2         # pri mod_php; rodina RHEL: httpd

Odporúčame restart namiesto reload. Pri reload hlavný proces zostáva zachovaný; je určený pre zmeny konfigurácie. Po bezpečnostnej aktualizácii chcete mať istotu, že každý proces je nový.

Dôležité

Ak ste navyše nastavili prechodné opatrenia, ako session.upload_progress.enabled=0 alebo pevné hranice pamäte, zaberú tiež až po reštarte. Reštart vybaví oboje v jednom kroku.

Overenie, že nebeží žiadny starý worker

Porovnajte čas spustenia procesov s časom aktualizácie. Všetky príkazy sú čisto čítacie.

ps -o pid,lstart,cmd -C php-fpm8.3     # unter RHEL: -C php-fpm
systemctl status php8.3-fpm            # riadok „Active: … since …“
needrestart -r l                       # Debian/Ubuntu, ak je nainštalovaný

Ak je proces starší než aktualizácia, nebol zachytený. Častými príčinami sú zabudnutá druhá vetva PHP, vlastná služba poolu z hostingového panelu alebo kontajner, ktorý sa iba reštartoval namiesto vytvorenia z nového image. Či beží správna verzia, ukazuje stránka Správne overenie verzie a stavu záplat PHP.

Zdokumentovať reštart

Zapíšte si pre každý server čas aktualizácie a reštartu. Tento okamih oddeľuje čas, keď bol server zraniteľný, od času po ňom. Pre neskoršiu kontrolu stôp, pre poisťovateľa a pre prípadné oznámenie podľa GDPR je to najdôležitejší referenčný bod. Uchovajte navyše logy servera od 20. októbra, ako odporúča odborná tlač.

Na serveroch s mnohými webmi sa oplatí krátka tabuľka: server, služba, verzia PHP, verzia balíka, čas reštartu a osoba, ktorá reštartovala. Medzery v pokrytí tak rýchlo vyniknú, napríklad prehliadnutý pool alebo testovací systém, na ktorý nikto nemyslel.

Ako konkrétne pomáha PHP SOS?

V rámci služby záplatovania PHP preberáme aktualizáciu a reštart ako súvislý postup:

  • Zistiť služby: Nájdeme všetky procesy, ktoré načítavajú PHP, aj z hostingových panelov a kontajnerov.
  • Reštartovať riadene, po dohode s vami v vhodnom čase a so zreteľom na prebiehajúce objednávky alebo formuláre.
  • Skontrolovať, že žiadny proces nie je starší než aktualizácia a web odpovedá normálne.
  • Protokolovať: verzie, stavy balíkov a časy reštartu pre každý server.

Časté otázky

Stačí systemctl reload namiesto restart?

Pre PHP2Shell odporúčame restart. Reload workerov síce zvyčajne reštartuje, hlavný proces však môže bežať ďalej. S restart si zabezpečíte, že nezostane žiadny proces so starým kódom. Krátkemu prerušeniu stojí oproti jasný doklad.

Musím po aktualizácii PHP reštartovať celý server?

Spravidla nie. Stačí reštartovať všetky služby, ktoré načítavajú PHP: PHP-FPM, Apache pri mod_php, LiteSpeed, FrankenPHP alebo dotknuté kontajnery. Reštart celého servera je jednoduchý variant, ak neviete isto, ktoré služby PHP používajú.

Reštartuje môj poskytovateľ hostingu PHP po aktualizácii automaticky?

Závisí to od poskytovateľa. Opýtajte sa konkrétne, či sa po záplate reštartovali všetky procesy PHP, a nechajte si to potvrdiť písomne.

Zdroje

Okamžitý kontakt

Každá hodina sa počíta. Napíšte nám hneď.

Stručne opíšte systém, verziu PHP a svoje pozorovanie. Ozveme sa, vyjasníme situáciu a budeme pracovať na diaľku, kým nebude incident uzavretý a zdokumentovaný.

Okamžitá pomoc