# PHP versijas un ielāpa stāvokļa pareiza pārbaude

> PHP versijas pārbaude pareizi: kā atpazīt ielāpa stāvokli, distributīva backport labojumus un darbojošos procesus un zināt, vai PHP2Shell ir aizvērta.

Avots: https://phpsos.de/lv/php2shell/php-version-pruefen/  
Aktuāls uz: 25.10.2026  
Pakalpojuma sniedzējs: PHP SOS, PHP ārkārtas palīdzība un serveru drošība. Tūlītēja palīdzība pa WhatsApp: https://wa.me/491736494914?text=Sveiki%2C%20PHP%20SOS%2C%20mums%20nepiecie%C5%A1ama%20pal%C4%ABdz%C4%ABba%20ar%20m%C5%ABsu%20PHP%20serveri.%20Uz%C5%86%C4%93mums%3A%20%E2%80%A6%20Vietne%3A%20%E2%80%A6

**Īsi:** lai pārbaudītu PHP versiju, ar `php -v` nepietiek. Jāzina, kuru PHP versiju tīmekļa serveris patiešām izmanto, vai pakotnē ir labojums, arī kā backport ar veco numuru, un vai pēc atjaunināšanas ir pārstartēti visi procesi. PHP2Shell ir labota versijās 8.5.12, 8.4.27, 8.3.36 un 8.2.35.

## Kāpēc ar versijas numuru vien nepietiek

PHP2Shell ir skaidrs labotu versiju saraksts. Praksē tomēr trīs situācijas noved pie kļūdainiem vērtējumiem:

- **Vairākas instalācijas:** komandrinda rāda PHP 8.3, bet vietne darbojas ar pūlu, kurā ir PHP 8.1.
- **Backport labojumi:** distributīvi un hostinga sniedzēji labojumus dažkārt ievieš esošajās pakotnēs. Tad, piemēram, Plesk turpina rādīt 8.2.34, lai gan ir ielāpots.
- **Veci procesi:** jaunie faili atrodas diskā, bet darbojošies darbprocesi ir vēl no iepriekš.

Vadībai un cilvēkiem, kas nav tehniķi, palīdz vienkāršs noteikums: nejautājiet tikai „Kāda PHP versija mums ir?“, bet „Vai PHP2Shell ir aizvērta visos serveros un pēc kā to redzam?“. Uzticama atbilde ietver trīs pierādījumus: versija vai backport, pakotnes stāvoklis un pārstartēšanas laiks.

Tehniskajai pārbaudei tāpēc ir trīs soļi: versija, pakotnes stāvoklis, darbojošies procesi. Tālāk norādītās komandas ir tikai lasošas. Pakotņu un pakalpojumu nosaukumi atšķiras pa distributīviem, PHP avotiem un hostinga saskarnēm; piemēri pieņem PHP 8.3.

## PHP versijas pārbaude komandrindā

```bash
php -v                                  # komandrindas versija
ls /etc/php/ 2>/dev/null                # Debian/Ubuntu: instalētie atzari
php-fpm8.3 -v                           # FPM bināra faila versija (nosaukums atkarībā no distributīva)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"
```

RHEL, AlmaLinux vai Rocky sistēmās FPM binārais fails parasti saucas `php-fpm`; Software Collections vai trešo pušu avotu gadījumā papildu versijas atrodas savos ceļos. Plesk un cPanel nāk ar savām PHP instalācijām, kas pastāv blakus sistēmas PHP. Kā tur rīkoties, aprakstām lapās par [Plesk](https://phpsos.de/lv/server/plesk/) un cPanel.

Kuru PHP versiju vietne izmanto tīmekļa kontekstā, visuzticamāk redzat pūla vai VirtualHost konfigurācijā vai hostinga saskarnē. Arī phpinfo lapa to parāda; izveidojiet to tikai uz īsu laiku, ar piekļuves aizsardzību un nejaušu nosaukumu, un uzreiz pēc tam izdzēsiet.

Koplietošanas hostingā parasti nav piekļuves komandrindai. Tad hostinga saskarne parāda iestatīto PHP versiju katrai vietnei. Vai backport ir ieviests un pārstartēts, tur reti redzams. Šeit uzticams ceļš ir hostinga sniedzēja rakstisks apstiprinājums.

## Pakotnes stāvokļa un backport pārbaude

Pakotnes stāvoklis parāda, ko jūsu distributīvs patiešām ir piegādājis:

```bash
# Debian/Ubuntu
apt policy php8.3-fpm
apt changelog php8.3-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

# RHEL, AlmaLinux, Rocky, Fedora
dnf info php-fpm
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"
```

Ja kāds no CVE numuriem ir changelog, backport ir iekļauts instalētajā pakotnē. Ja ieraksta nav, tas vēl nav ievainojamības pierādījums: daži pakotņu uzturētāji changelog formulē citādi. Tad salīdziniet pakotnes versiju ar sava distributīva drošības paziņojumiem vai pajautājiet sniedzējam. Šī pieprasījuma paraugu atradīsiet rakstā [Kā pajautāt hostinga sniedzējam par ielāpa statusu](https://phpsos.de/lv/ratgeber/hoster-patch-status-erfragen/).

Svarīgi: pārbaudiet katru instalēto PHP pakotni, ne tikai pirmo. Serveros ar vairākiem atzariem bieži viens ir ielāpots, bet cits nav.

## Vai jaunā versija patiešām darbojas?

Atjauninājums ir spēkā tikai tad, kad ir pārstartēti visi PHP procesi. Salīdziniet darbojošos procesu startēšanas laiku ar atjauninājuma laiku:

```bash
ps -o pid,lstart,cmd -C php-fpm8.3      # FPM procesu startēšanas laiks
systemctl status php8.3-fpm             # kopš kura laika pakalpojums darbojas
needrestart -r l                        # Debian/Ubuntu, ja instalēts: rāda novecojušus procesus
```

Ja startēšanas laiks ir pirms atjauninājuma, vēl darbojas veci procesi. Apache ar mod_php gadījumā tas pats attiecas uz Apache procesiem. Kā pārstartēt tīri, apraksta [PHP-FPM un visu darbprocesu pārstartēšana](https://phpsos.de/lv/php2shell/php-fpm-neustart/).

> **Padoms:**
> Rezultātu fiksējiet rakstiski: serveris, PHP versija, pakotnes versija, CVE changelog jā vai nē, pārstartēšanas laiks. Šī piezīme būs vajadzīga vadībai, apdrošinātājam un vēlākai pēdu pārbaudei.

## Rezultāta vērtējums

| Atradums | Vērtējums |
|---|---|
| Oficiālā versija 8.5.12, 8.4.27, 8.3.36 vai 8.2.35, procesi pārstartēti | PHP2Shell aizvērta |
| Vecāks numurs, CVE numuri pakotnes changelog, procesi pārstartēti | backport ieviests, aizvērta |
| Vecāks numurs, nav ieraksta changelog, nav apstiprinājuma | nav skaidrs, noskaidrot pie sniedzēja |
| PHP 8.1 vai vecāka bez apstiprināta backport | atvērta, vajadzīgi pagaidu pasākumi un migrācija |
| Procesi vecāki par atjauninājumu | trūkst pārstartēšanas, ievainojamība joprojām aktīva |

Ja serveris paliek statusā „nav skaidrs“, izturieties pret to kā pret atvērtu: ieviesiet pagaidu pasākumus un turpiniet noskaidrošanu, līdz ir pierādījums. Pilnu versiju pārskatu atradīsiet lapā [Kuras PHP versijas ir skartas?](https://phpsos.de/lv/php2shell/betroffene-php-versionen/).

## Kā PHP SOS palīdz konkrēti?

Ar [PHP ielāpu pakalpojumu](https://phpsos.de/lv/leistungen/php-patch-service/) mēs uzņemamies pārbaudi un apliecinājumu:

- **Atrast visas instalācijas,** arī otras versijas no hostinga paneļiem, Software Collections vai konteineriem.
- **Novērtēt pakotnes stāvokli:** oficiāls izlaidums, backport vai atvērts, ar pierādījumu no changelog vai no sniedzēja.
- **Kontrolēt pārstartēšanu,** līdz vairs nedarbojas neviens process ar veco kodu.
- **Izveidot pārbaudes protokolu,** ko varat izmantot iekšēji un attiecībās ar trešajām personām.


## Biežāk uzdotie jautājumi

**Kāpēc php -v rāda citu versiju nekā mana vietne?**  
Daudzos serveros ir instalētas vairākas PHP versijas. Komandrinda izmanto vienu no tām, tīmekļa serveris vai FPM pūls citu. Tāpēc pārbaudiet versiju, kas patiešām darbojas tīmekļa kontekstā, piemēram, ar FPM bināro failu vai hostinga saskarni.

**Kā atpazīt backport?**  
Distributīvu pakotnēm labojums bieži ir pakotnes changelog, bieži ar CVE numuru. Debian un Ubuntu palīdz apt changelog, RHEL tipa sistēmās rpm -q --changelog. Ja ieraksta nav, noskaidrojiet stāvokli pie sniedzēja.

**Vai PHP versiju varu pārbaudīt hostinga klientu izvēlnē?**  
Jā, vairums saskarņu rāda iestatīto versiju katrai vietnei. Vai backport ir ieviests un pārstartēts, tur parasti neredzat. Šim nolūkam uzticams ceļš ir hostinga sniedzēja rakstisks apstiprinājums.

## Avoti

- [php.net: drošības paziņojumi](https://www.php.net/)
- [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
- [php.net: atbalstītās versijas](https://www.php.net/supported-versions.php)
