# PHP debesų ir PaaS teikėjų platformose: kas taiso vykdymo aplinką?

> PHP atnaujinimas PaaS ir debesų platformose: kas taiso PHP vykdymo aplinką, kodėl dažnai reikia naujos kūrinio versijos ir kaip įrodyti pateikiamą būseną.

Šaltinis: https://phpsos.de/lt/blog/paas-php-laufzeit/  
Būsena: 2026-10-25  
Teikėjas: PHP SOS, PHP avarinė pagalba ir serverio sauga. Skubi pagalba per „WhatsApp“: https://wa.me/491736494914?text=Sveiki%2C%20PHP%20SOS%2C%20mums%20reikia%20pagalbos%20su%20m%C5%ABs%C5%B3%20PHP%20serveriu.%20%C4%AEmon%C4%97%3A%20%E2%80%A6%20Svetain%C4%97%3A%20%E2%80%A6

**Trumpai:** debesų ir PaaS teikėjų platformose pataisos automatiškai neįdiegia teikėjas. Jei jis valdo PHP vykdymo aplinką, jis ją atnaujina, bet dažnai tik su kitu diegimu. Jei atvaizdus ar kūrinius kuriate patys arba patys eksploatuojate platformą, turite perkurti ir paleisti iš naujo. Lemia visada vykdymo aplinka, kurią jūsų svetainė šiuo metu pateikia.

## PHP atnaujinimas PaaS: kam priklauso vykdymo aplinka?

Platformų paslaugos, specialistų žargonu PaaS (Platform as a Service), nuima nuo įmonių serverių eksploatavimą. Jūs įkeliate kodą, platforma jį sukuria ir eksploatuoja. Esant PHP2Shell iš to kyla tipinis neapibrėžtumas: kas iš tikrųjų turi atnaujinti PHP?

Vercel savo PHP2Shell biuletenyje tai apibendrina: vietinės kūrimo aplinkos, programos kodo ar įskiepių atnaujinimo nepakanka. Lemia diegimo, kuris iš tikrųjų atsako į užklausas, PHP vykdymo aplinka. Ar ši aplinka pataisyta, priklauso nuo to, kas ją teikia ir kada ji paskutinį kartą sukurta.

## Keturių veikimo modelių palyginimas

Teikėjų pavadinimai skiriasi. Pataisų klausimu daugumą pasiūlymų galima priskirti vienam iš šių modelių:

| Modelis | Kas atnaujina PHP? | Ką turite daryti |
|---|---|---|
| Teikėjo valdoma vykdymo aplinka | teikėjas | gauti patvirtinimą, prireikus diegti iš naujo, kad nauja aplinka įsigaliotų |
| Kūriniu pagrįsta vykdymo aplinka (buildpack) | teikėjas pateikia naują versiją, jūsų kūrinys ją užfiksuoja | inicijuoti naują kūrinį, versiją patikrinti kūrimo žurnale |
| Savas konteinerio atvaizdas | jūs | atvaizdą su ištaisytu PHP perkurti ir paleisti |
| Pačių eksploatuojama platforma | jūs, platformai ir programoms | pataisyti platformą ir kiekvieną programą atskirai |

Daug įmonių naudoja kelis modelius vienu metu, pavyzdžiui, valdomą vykdymo aplinką svetainei ir savus konteinerius vidaus įrankiams. Todėl kiekvienai programai reikia savo atsakymo.

Spąstai slypi žodyje „valdoma“. Net jei teikėjas vykdymo aplinką prižiūri, jau paleista programa dažnai toliau veikia su ta versija, su kuria buvo sukurta. Nauja versija įsigalioja tik per kitą kūrinį ar diegimą. Kai kurios platformos taip pat palieka senesnius diegimus ar peržiūros aplinkas pasiekiamas jų adresais. Todėl klauskite ne tik, ar teikėjas pataisė, bet ir nuo kada jūsų veikiantys egzemplioriai naudoja pataisą bei kas vyksta su senais diegimais.

## Ką apie PHP2Shell sako Vercel ir Coolify

Du teikėjai savo pastabas paskelbė viešai. Jos naudingos, nes aiškiai įvardija savo apsaugos priemonių ribas.

**Vercel**, pasak savo biuletenio, prieš paskelbimą savo žiniatinklio programų ugniasienėje (WAF, žiniatinklio užklausų filtre) įjungė apsaugos taisykles. Jos automatiškai galioja PHP funkcijoms Vercel ir užklausoms, kurias Vercel perduoda išoriniams PHP serveriams. Kartu Vercel reikalauja PHP vykdymo aplinką nedelsiant atnaujinti į ištaisytą versiją. Konteinerių diegimus reikia perkurti su atnaujintu PHP baziniu atvaizdu ir paleisti iš naujo. Užklausų, kurios apeina Vercel ir eina tiesiai į išorinį PHP serverį, WAF neapima.

**Coolify**, pačių eksploatuojama platforma, pagal savo pranešimą pati buvo paveikta: visos 4 versijos šakos. Pirmąsias ištaisytas versijas Coolify nurodo 4.0.1, 4.1.3, 4.2.1, 4.3.24 ir 4.4.7 ir rekomenduoja 4.4.7. Svarbus papildymas: Coolify atnaujinimas neatnaujina PHP programų, kurias per jį eksploatuojate. Jų vykdymo aplinkas ar atvaizdus turite atnaujinti atskirai ir perkurti arba paleisti iš naujo. Pasak Coolify, tai galioja ir Coolify Cloud klientams bei taip pat už Cloudflare, nes Cloudflare taisyklės tikrina tik srautą, einantį per Cloudflare.

Ką Cloudflare taisyklės pasiekia, įvertina straipsnis [Cloudflare apsaugos taisyklės nuo PHP2Shell](https://phpsos.de/lt/blog/cloudflare-waf-php2shell/).

## Kaip patikrinti pateikiančią vykdymo aplinką

Toliau pateikti žingsniai tinka nepriklausomai nuo teikėjo. Jų tikslas yra įrodymas, o ne nuojauta.

1. **Išvardyti visas aplinkas:** gamybą, staging, peržiūros diegimus ir foninės tarnybas, pavyzdžiui, eilės apdorotojus (queue worker). Kiekviena aplinka gali turėti kitą vykdymo aplinką.
2. **Nuskaityti kiekvienos aplinkos vykdymo aplinkos versiją:** teikėjo konsolėje, kūrimo žurnale ar projekto konfigūracijos faile.
3. **Patikrinti paskutinio diegimo datą:** jei ji ankstesnė nei 2026-10-21, labai tikėtina, kad dar veikia sena vykdymo aplinka, nebent teikėjas aiškiai patvirtina kitaip.
4. **Pažiūrėti veikiančiame egzemplioriuje:** jei platforma siūlo konsolę, toliau pateikta komanda parodo egzemplioriaus versiją.
5. **Įtraukti išorinius PHP serverius:** serveriai, kuriems platforma perduoda užklausas, reikalauja savo atnaujinimo ir neturėtų būti pasiekiami tiesiai iš interneto.

```bash
# Veikiančio egzemplioriaus konsolėje (jei teikėjas siūlo)
php -v
php -r 'echo PHP_VERSION, " ", PHP_SAPI, PHP_EOL;'
```

Tikimasi 8.5.12, 8.4.27, 8.3.36 ar 8.2.35 arba teikėjo patvirtinto atgalinio perkėlimo. Atkreipkite dėmesį, kad egzemplioriaus komandinė eilutė ne visada naudoja tą pačią vykdymo aplinką kaip žiniatinklio procesas. Patikrai nekurkite viešai pasiekiamo phpinfo failo. Kaip teisingai suprasti versijos numerį ir atgalinio perkėlimo būseną, aprašo [PHP versijos ir pataisų būsenos patikra](https://phpsos.de/lt/php2shell/php-version-pruefen/).

> **Svarbu:**
> Naujas diegimas nepašalina kenkėjiškos programinės įrangos, kuri anksčiau pateko į nuolatinę saugyklą, pavyzdžiui, įkėlimų tomus ar duomenų bazę. Šias sritis patikrinkite atskirai.

## Atsakomybę užfiksuoti raštu

PHP2Shell parodo, kaip dažnai neaiški riba tarp platformos ir kliento. Kiekvienai programai užfiksuokite, kas teikia vykdymo aplinką, kas gavus saugumo pranešimus kuria iš naujo ir kaip teikėjas skelbia pataisas. Prie to priklauso ir tai, kas skubiu atveju turi prieigą prie platformos konsolės ir kas ne darbo valandomis gali inicijuoti naują kūrinį.

Savo dokumentacijai pakanka trumpos lentelės kiekvienai programai: platforma, veikimo modelis, PHP šaka, paskutinio kūrinio data, atsakingas asmuo. Kas šį sąrašą per kitą pranešimą turės po ranka, sutaupys dienas, kurias daugelis komandų po spalio 21 d. praleido ieškodamos. Konteinerių programų atveju prie to priklauso ir tai, kas prižiūri bazinį atvaizdą; pagrindus paaiškina [PHP konteineriuose](https://phpsos.de/lt/php/php-in-containern/).

Valdomiems serveriams be PaaS pobūdžio galioja panašūs klausimai, kuriuos apibendrinome puslapyje [Valdomas serveris: atsakomybės išsiaiškinimas](https://phpsos.de/lt/server/managed-server/).

## Kaip PHP SOS padeda konkrečiai?

- **Priskirti:** kiekvieną jūsų programą priskiriame veikimo modeliui ir išsiaiškiname, kas teikia PHP vykdymo aplinką.
- **Įrodyti:** tikriname vykdymo aplinką, kūrimo datą ir diegimą kiekvienoje aplinkoje ir dokumentuojame rezultatą.
- **Perkurti ir paleisti:** per [PHP pataisų paslaugą](https://phpsos.de/lt/leistungen/php-patch-service/) atnaujiname atvaizdus ir kūrinius bei kontroliuojamai juos paleidžiame.
- **Užverti spragas:** tikriname, ar išoriniai PHP serveriai pasiekiami tiesiogiai, ir apribojame prieigą.


## Dažni klausimai

**Ar mano PaaS teikėjas PHP taiso automatiškai?**  
Tai priklauso nuo modelio. Jei teikėjas valdo vykdymo aplinką, jis ją atnaujina, bet dažnai tik naujiems diegimams (deployment). Jei atvaizdus ar kūrinius kuriate patys, turite perkurti ir iš naujo paleisti. Paprašykite patvirtinti jūsų programos būseną.

**Ar mano platformos teikėjo WAF pakanka nuo PHP2Shell?**  
Ne. Vercel ir Coolify aiškiai rašo, kad apsaugos taisyklės nepakeičia PHP vykdymo aplinkos atnaujinimo. Be to, jos veikia tik srautui, einančiam per platformą.

**Ar po pataisos reikia diegti iš naujo?**  
Dažnai taip. Vercel konteinerių diegimams nurodo perkūrimą su atnaujintu PHP baziniu atvaizdu ir naują diegimą. Platformose, pagrįstose kūriniais (build), vykdymo aplinka užfiksuojama kūrimo metu; pataisą perima tik naujas kūrinys.

**Naudoju Coolify. Ar pakanka Coolify atnaujinimo?**  
Ne. Pagal Coolify pranešimą (advisory), atnaujinimas atnaujina tik patį Coolify. Savo programų PHP vykdymo aplinkas ar konteinerių atvaizdus turite atnaujinti atskirai ir perkurti arba iš naujo paleisti.

## Šaltiniai

- [Vercel: PHP2Shell Security Bulletin](https://vercel.com/kb/bulletin/php2shell-security-bulletin)
- [Coolify: PHP Security Advisory 2026](https://coolify.io/docs/knowledge-base/php-security-advisory-2026)
- [php.net: saugumo pranešimai](https://www.php.net/)
