# Vairākas PHP versijas vienā serverī: ielāpojiet katru atsevišķi

> Vairākas PHP versijas vienā serverī: atrast visas instalācijas, noskaidrot izcelsmi un atbildību, katru ielāpot atsevišķi, pārstartēt un pierādīt.

Avots: https://phpsos.de/lv/blog/mehrere-php-versionen-server/  
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 sakot:** Ja serverī darbojas vairākas PHP versijas, pēc PHP2Shell katra jāpārbauda, jāatjaunina un jāpārstartē atsevišķi. Tipiski avoti ir operētājsistēma, hostinga paneļi, piemēram, Plesk vai cPanel, trešo pušu avoti, piemēram, sury.org vai Remi, CloudLinux, LiteSpeed un paša kompilētas versijas. Tikai pilnīgs saraksts no pakotnēm, failiem un darbojošamies procesiem parāda, ka tiešām neviena versija nav palaista garām.

## Aizmirstā versija

Serveris, kas darbojas jau vairākus gadus, krāj PHP versijas kā bēniņi vecas mēbeles. Panelis atnesa trīs atzarus, vienam klientam no trešās puses avota pievienojās vecāka versija, operētājsistēmai ir sava. Katra no tām savulaik tika instalēta ar labu iemeslu. Tikai šodien neviens vairs nezina, kura vēl ir vajadzīga.

Pēc PHP2Shell tā ir tieši problēma. Labojumi parādījās 2026. gada 21. oktobrī versijām PHP 8.5.12, 8.4.27, 8.3.36 un 8.2.35. Taču katra serverī esošā instalācija tos saņem savā ceļā, no sava pakotnes uzturētāja un savā laikā. PHP 8.1 un vecākām versijām ir tikai minimāli pirmkoda backport labojumi. Kas atjaunina tikai galveno versiju, pārējās atstāj atvērtas.

## No kurienes nāk tik daudz versiju

Šis pārskats min tipiskus avotus un ceļu piemērus. Precīzie ceļi atšķiras pēc versijas un distributīva.

| Avots | Ceļa piemērs | Kas piegādā ielāpu |
|---|---|---|
| Operētājsistēma Debian/Ubuntu | `/usr/bin/php8.3`, `/etc/php/8.3/` | Distributīvs |
| Operētājsistēma RHEL saime | `/usr/bin/php`, `/etc/php-fpm.d/` | Distributīvs |
| Plesk | `/opt/plesk/php/8.3/` | Plesk |
| cPanel (EasyApache 4) | `/opt/cpanel/ea-php83/` | cPanel |
| CloudLinux alt-php | `/opt/alt/php83/` | CloudLinux |
| Remi Software Collection | `/opt/remi/php83/` | Remi |
| sury.org | `/usr/bin/php8.3` kā sistēmā | sury.org |
| LiteSpeed | `/usr/local/lsws/lsphp83/` | LiteSpeed vai pakotņu avots |
| Paša kompilēta | bieži `/usr/local/bin/php` | Jūs paši |
| Konteineri | attēlā | Attēla izdevējs, pārbūve jūsu pusē |

Īpaši alsīgas ir sury.org pakotnes, jo tās izmanto tos pašus ceļus kā distributīvs. Vai `php8.3` nāk no Debian vai no sury.org, parāda tikai pakotņu avots. Īpatnības apraksta raksti [sury.org repozitorijs](https://phpsos.de/lv/blog/sury-repository-php/) un [Remi repozitorijs](https://phpsos.de/lv/blog/remi-repository-php/). Kā Plesk pārvalda savas versijas, apraksta lapa [Plesk serveris: PHP versiju pārbaude un ielāpošana](https://phpsos.de/lv/server/plesk/).

## Atrast visas PHP instalācijas

Uzticams saraksts rodas no trīs skatupunktiem. Komandas tikai lasa un atkarībā no servera var darboties kādu laiku.

```bash
# 1. Pakotnes: ko zina pakotņu pārvaldība
dpkg-query -W -f='${Package}\t${Version}\n' '*php*' 2>/dev/null | grep -E "fpm|cli|cgi|mod-php|lsphp"
rpm -qa 2>/dev/null | grep -iE "php.*(fpm|cli|cgi|litespeed)|^php-[0-9]|^ea-php|^alt-php" | sort

# 2. Faili: izpildāmie PHP binārie faili, arī ārpus pakotņu pārvaldības
find / -xdev -type f \( -name 'php' -o -name 'php[0-9]*' -o -name 'php-fpm*' -o -name 'php-cgi*' -o -name 'lsphp*' \) -perm -u+x 2>/dev/null

# 3. Procesi: kas šobrīd patiešām darbojas, ar startēšanas laiku
ps -eo pid,user,lstart,cmd | grep -E "[p]hp-fpm|[p]hp-cgi|[l]sphp|[a]pache2|[h]ttpd|[f]rankenphp"
```

Salīdziniet trīs sarakstus. Fails bez pakotnes norāda uz paša kompilētu vai manuāli nokopētu versiju. Process bez atbilstoša faila var norādīt uz izdzēstu, bet vēl darbojošos instalāciju. Apache gadījumā papildus pārbaudiet, vai ir ielādēts PHP modulis, piemēram, ar `apache2ctl -M` vai `httpd -M`. Konteineri un Kubernetes pod šajos sarakstos parādās tikai daļēji, un tiem vajadzīga sava attēlu pārbaude.

## Ielāpot katru versiju atsevišķi

Kad katrai instalācijai jūsu sarakstā ir rinda, katrai seko tā pati secība:

1. **Noskaidrot atbildību:** vai ielāps nāk no distributīva, paneļa, trešās puses avota vai no jums pašiem?
2. **Novērtēt stāvokli:** oficiāli labotā versija, apstiprināts backport, neskaidrs vai atvērts.
3. **Atjaunināt:** attiecīgā avota ceļā, nevis citā.
4. **Pārstartēt:** šīs versijas pakalpojumu, ne tikai galveno pakalpojumu. mod_php gadījumā tīmekļa serveri. Sīkāk lapā [PHP-FPM un visu worker pārstartēšana](https://phpsos.de/lv/php2shell/php-fpm-neustart/).
5. **Pārbaudīt:** procesu startēšanas laiku salīdzināt ar atjauninājuma laiku.
6. **Dokumentēt:** versija, pakotnes stāvoklis, pierādījums, pārstartēšanas laiks.

Versijām, kurām nav ielāpa, līdz migrācijai ir spēkā php.net pagaidu pasākumi. Iestatiet tos katrai versijai atsevišķi, jo katrai instalācijai ir sava php.ini un savi pūli.

> **Svarīgi:**
> Neaizmirstiet komandrindu. Cronjobs un skripti bieži darbojas ar citu PHP versiju nekā vietne. Arī šai versijai jābūt labotā stāvoklī, pat ja tā neapstrādā tīmekļa pieprasījumus.

## Kuru versiju izmanto komandrinda, kuru konteiners?

Divas jomas meklēšanā īpaši bieži izkrīt cauri sietam. Pirmā ir komandrinda. Debian un Ubuntu sistēmās alternatīvu sistēma nosaka, kurš binārais fails slēpjas aiz komandas `php`. `update-alternatives --display php` parāda, kuras versijas ir reģistrētas un kura šobrīd ir spēkā. Cronjobs, kas izsauc fiksētu ceļu, piemēram, `/usr/bin/php7.4`, šo iestatījumu tomēr apiet. Tāpēc vērts ielūkoties visu lietotāju crontab un tādu paneļu konfigurācijā, kas veido savus cronjobs.

Otra joma ir konteineri. Docker konteiners serverī nes līdzi savu PHP versiju, kas neparādās neviena resursdatora pakotņu sarakstā. `docker ps` parāda darbojošos konteinerus; vai tajos ir PHP un kādā versijā, atklāj skatiens attēlā vai `php -v` konteinerā. Ielāps tur netiek veikts resursdatorā, bet ar attēla pārbūvi un konteinera nomaiņu.

## Mazāk ir drošāk

Labākā pārbaude ir tā, kas nav jāveic. Katra instalētā PHP versija nākamās ievainojamības gadījumā dubulto darbu. Pēc PHP2Shell tāpēc vērts ieviest skaidru noteikumu: katrai serverī esošajai versijai vajadzīgs mērķis un atbildīgais. Kam tā nav, to vispirms deaktivizē un pēc novērošanas laika noņem. Vairāk raksta [PHP vecu versiju izslēgšana hostinga panelī](https://phpsos.de/lv/blog/alte-php-versionen-abschalten/).

## Kā PHP SOS palīdz konkrēti?

- Mēs jūsu serveriem sagatavojam pilnīgu visu PHP instalāciju sarakstu no pakotnēm, failiem, procesiem un konteineriem.
- Mēs katrai versijai noskaidrojam izcelsmi, atbildību un ielāpa stāvokli.
- [PHP ielāpu pakalpojuma](https://phpsos.de/lv/leistungen/php-patch-service/) ietvaros mēs atjauninām katru versiju, pārstartējam katru pakalpojumu un apliecinām stāvokli.
- Kopā ar jums mēs nosakām, kuras versijas paliek, un pārējās kontrolēti noņemam.


## Biežāk uzdotie jautājumi

**Kāpēc manā serverī darbojas vairākas PHP versijas?**  
Biežākie iemesli ir hostinga paneļi, kas nes līdzi savus PHP būvējumus, trešo pušu avoti, piemēram, sury.org vai Remi jaunākām versijām, un vecākas lietojumprogrammas, kam vajadzīga noteikta versija. Bieži klāt nāk arī operētājsistēmas PHP versija.

**Vai PHP versija, ko neizmanto neviena vietne, ir bīstama?**  
Kamēr tā ir instalēta un aktīva kā pakalpojums, tā var būt sasniedzama, piemēram, caur testa domēnu, aizmirstu pūlu vai cronjob. Turklāt vēlāk to var kļūdaini piešķirt vietnei. Nevajadzīgās versijas jums vajadzētu noņemt.

**Kā atrast visas PHP instalācijas Linux serverī?**  
Apvienojiet trīs skatupunktus: instalētās pakotnes, izpildāmie PHP faili failu sistēmā un darbojošies procesi. Tikai kad visi trīs dod vienu un to pašu ainu, saraksts ir pilnīgs.

**Vai pēc atjauninājuma katra versija jāpārstartē atsevišķi?**  
Jā. Katrai versijai parasti ir savs FPM pakalpojums, LiteSpeed ir savi lsphp procesi, mod_php dzīvo Apache procesā. Galvenā pakalpojuma pārstartēšana pārējos neatjauno.

## Avoti

- [php.net: drošības paziņojumi](https://www.php.net/)
- [php.net: atbalstītās versijas](https://www.php.net/supported-versions.php)
- [Red Hat Security Bulletin RHSB-2026-013](https://access.redhat.com/security/vulnerabilities/RHSB-2026-013)
