# Po aktualizácii: reštart PHP-FPM a všetkých workerov

> Reštart PHP-FPM po aktualizácii PHP2Shell: prečo nové súbory nestačia, ktoré služby rozhodujú a ako overíte, že nebeží žiadny starý worker.

Zdroj: https://phpsos.de/sk/php2shell/php-fpm-neustart/  
Stav: 25.10.2026  
Poskytovateľ: PHP SOS, Núdzová pomoc pri PHP a bezpečnosť serverov. Okamžitá pomoc cez WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20de%C5%88%2C%20PHP%20SOS%2C%20potrebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20serverom%20s%20PHP.%20Spolo%C4%8Dnos%C5%A5%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**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](https://phpsos.de/sk/php2shell/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](https://phpsos.de/sk/php2shell/docker-container-patchen/) |

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](https://phpsos.de/sk/php2shell/mod-php-risiko/). Podrobnosti k LiteSpeed nájdete na stránke [LiteSpeed a LSAPI](https://phpsos.de/sk/server/litespeed/).

## 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ž.

```bash
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ú:

```bash
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.

```bash
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](https://phpsos.de/sk/php2shell/php-version-pruefen/).

## 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](https://phpsos.de/sk/leistungen/php-patch-service/) 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

- [php.net: bezpečnostné hlásenia](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
