# Хранилището Remi: поддържане на PHP на RHEL системи актуален

> PHP хранилището Remi на RHEL, AlmaLinux и Rocky: stream-ове на модули и SCL пакети, проверка на състоянието за PHP2Shell и рестарт на всяка версия.

Източник: https://phpsos.de/bg/blog/remi-repository-php/  
Актуалност: 25.10.2026  
Доставчик: PHP SOS, Спешна помощ за PHP и сигурност на сървъри. Незабавна помощ по WhatsApp: https://wa.me/491736494914?text=%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D0%B5%D0%B9%D1%82%D0%B5%2C%20PHP%20SOS%2C%20%D0%B8%D0%BC%D0%B0%D0%BC%D0%B5%20%D0%BD%D1%83%D0%B6%D0%B4%D0%B0%20%D0%BE%D1%82%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%20%D1%81%20%D0%BD%D0%B0%D1%88%D0%B8%D1%8F%20PHP%20%D1%81%D1%8A%D1%80%D0%B2%D1%8A%D1%80.%20%D0%A4%D0%B8%D1%80%D0%BC%D0%B0%3A%20%E2%80%A6%20%D0%A3%D0%B5%D0%B1%D1%81%D0%B0%D0%B9%D1%82%3A%20%E2%80%A6

**Накратко:** PHP хранилището Remi доставя актуални PHP версии за Fedora и семейството RHEL, или като stream на модул, който заменя системния PHP, или като Software Collection, която инсталира няколко версии паралелно. Поправките за PHP2Shell 8.2.35, 8.3.36, 8.4.27 и 8.5.12 бяха обявени там на 22 октомври 2026 г. Проверете всяка инсталирана версия поотделно и рестартирайте всяка принадлежаща услуга.

## Защо толкова много RHEL сървъри вземат PHP от Remi

Корпоративните дистрибуции като RHEL, AlmaLinux и Rocky Linux залагат на дългосрочна стабилност. Те доставят малко PHP клонове и ги запазват с години. Много приложения обаче изискват по-нови версии от тези, които дистрибуцията предлага. Тук намесва хранилището на Remi Collet, дългогодишен поддържащ на пакети за PHP в средата на Fedora и RHEL.

Remi изгражда PHP версиите в кратък срок след официалните издания. За PHP2Shell в блога на хранилището на 22 октомври 2026 г. излезе статия за версиите 8.2.35, 8.3.36, 8.4.27 и 8.5.12. В нея са назовани двете критични уязвимости CVE-2026-109618 и CVE-2026-109619 и актуализацията е препоръчана настоятелно. Съобщенията за сигурност на Red Hat не важат за тези пакети; какво Red Hat съобщава за собствените си пакети, пише в статията [RHEL, AlmaLinux и Rocky Linux: проверка на PHP пача](https://phpsos.de/bg/blog/rhel-almalinux-rocky-php/).

## Два пътя: stream на модул или Software Collection

Според блога на Remi компилациите за Enterprise Linux от версия 8 нагоре са налични по два пътя. Кой се ползва на Вашия сървър, определя как проверявате и рестартирате.

| Път | Хранилище | Действие | Типична услуга |
|---|---|---|---|
| Stream на модул, например `php:remi-8.3` | remi-modular | заменя системния PHP, една стандартна версия | `php-fpm` |
| Software Collection, например `php83` | remi-safe | допълнителна версия паралелно в собствен път | собствена услуга за всяка версия, например `php83-php-fpm` |
| Тестови пакети и release кандидати | remi-modular-test, remi-test | предварителни версии | не за продукция |

Software Collections обикновено лежат под `/opt/remi/phpXY`, конфигурацията им под `/etc/opt/remi/phpXY`. Това е практично, за да работят стари и нови приложения на един сървър. Но е и най-честата причина една версия да бъде пропусната при актуализацията.

Една бележка за командния ред: Software Collections не са автоматично достъпни под командата `php`. Според настройката cron задачите и скриптовете ги извикват с отделна команда или с пълен път. Затова проверете и crontab-ите и скриптовете за внедряване, ако искате да знаете коя колекция за какво се ползва.

## Проверка на PHP хранилището Remi след PHP2Shell

Следните команди са само за четене и показват кои пакети на Remi са инсталирани и в какво състояние са.

```bash
# Активни източници на пакети: включен ли е remi-modular или remi-safe?
dnf repolist

# Активен stream на модул за PHP
dnf module list --enabled php

# Основни пакети и паралелно инсталирани Software Collections
rpm -qa 'php-*' 'php[0-9][0-9]-php-*' --qf '%{NAME}-%{VERSION}-%{RELEASE}\n' | sort

# Версия на всяка инсталирана колекция
for b in /opt/remi/php*/root/usr/bin/php; do echo "$b"; "$b" -v | head -1; done
```

При поддържаните клонове положението е еднозначно: ако там стои 8.5.12, 8.4.27, 8.3.36 или 8.2.35 или по-нова, поправката е съдържана. При Remi номерът на версията по правило съответства на upstream версията, за разлика от пакетите на дистрибуцията, които често запазват стария си номер.

За по-стари колекции като `php81`, `php80` или `php74` няма официална целева версия. Remi води PHP 8.1 като End-of-Life. Дали един инсталиран пакет съдържа поправка срещу PHP2Shell, изяснявате в changelog-а, например с `rpm -q --changelog php81-php-fpm | grep -E "CVE-2026-10961[89]"`. Без попадение третирайте пакета като неизяснен. Как да докажете такива попадения чисто, описва статията [Доказване на номера CVE в changelog-а на пакета](https://phpsos.de/bg/blog/cve-im-changelog-nachweisen/).

> **Важно:**
> Не активирайте трайно тестови хранилища като remi-test или remi-modular-test на продукционни сървъри. Те доставят release кандидати, предназначени за тестове.

## Актуализация и рестарт на всяка версия

Самата актуализация при Remi обикновено е невпечатляваща: `dnf upgrade` взема нови пакети за stream-а и колекциите. Критичната част следва след това. Всяка колекция има собствена FPM услуга и всяка трябва да бъде рестартирана.

```bash
# Изброяване на всички PHP-FPM услуги, също и тези на колекциите
systemctl list-units --type=service --all | grep -E "php.*fpm"

# Проверка на времето на стартиране на всички PHP процеси
ps -eo pid,lstart,cmd | grep -E "[p]hp-fpm|[h]ttpd"
```

Време на стартиране преди актуализацията означава: тази услуга още работи със стар код. Защо презареждането не стига, обяснява страницата [Рестартиране на PHP-FPM и на всички worker-и](https://phpsos.de/bg/php2shell/php-fpm-neustart/).

## Remi и дистрибуцията: кой отговаря?

Който превключи към Remi чрез stream на модул, сменя доставчика за PHP. Съобщенията за сигурност на Red Hat, AlmaLinux или Rocky Linux тогава вече не се отнасят до инсталираните PHP пакети. Обратно, Remi не съобщава за проблеми в други пакети на системата. И двата източника трябва да следите.

Откъде идва един инсталиран пакет, показва базата данни на пакетите, например с `rpm -qi php-fpm` в полетата за производител и пакетиращ. Тъй като за пакетите на Remi няма errata в смисъла на Red Hat, блогът на хранилището е подходящ път за известяване; може да се абонирате за него чрез RSS канал. При PHP2Shell указанието се появи там един ден след официалните издания.

За фирмите това разпределение не е пречка, но трябва да е документирано. Запишете кои сървъри вземат PHP от Remi, кой чете съобщенията и кой рестартира услугите след актуализация. Иначе всеки разчита на другия.

## Поддържане на ред: по-малко версии, по-малък риск

Software Collections подканват старите версии просто да се оставят. След PHP2Shell е добър момент да се почисти:

1. За всяка колекция изяснете кой уебсайт или cron задача я ползва.
2. Неизползваните колекции деактивирайте и след период на наблюдение премахнете.
3. Приложенията на стари колекции преместете на поддържан клон.
4. Останалите версии документирайте с предназначение и отговорник.

Как да запазите прегледа над много паралелни версии, описва статията [Няколко PHP версии на един сървър](https://phpsos.de/bg/blog/mehrere-php-versionen-server/).

## Как помага PHP SOS конкретно?

- Описваме всички stream-ове и колекции на Remi на Вашите сървъри и ги съпоставяме с уебсайтове и cron задачи.
- Проверяваме състоянието за PHP2Shell за всяка версия чрез версията на пакета и changelog-а.
- Инсталираме актуализации, рестартираме всяка услуга и доказваме това с времена на стартиране на процесите в рамките на [услугата за пач на PHP](https://phpsos.de/bg/leistungen/php-patch-service/).
- Вече ненужните колекции премахваме контролирано след уточняване.


## Често задавани въпроси

**Предоставил ли е Remi версиите за PHP2Shell?**  
Да. В блога на хранилището на 22 октомври 2026 г. бяха обявени версиите 8.2.35, 8.3.36, 8.4.27 и 8.5.12, с указание за две критични уязвимости, CVE-2026-109618 и CVE-2026-109619, и настоятелна препоръка за актуализация.

**Каква е разликата между stream на модул и SCL при Remi?**  
Чрез stream на модул заменяте системния PHP с версия на Remi и тогава има една PHP версия като стандартна. Software Collections инсталират допълнителни версии паралелно в собствени пътища, всяка със собствена услуга.

**Получава ли PHP 8.1 от Remi още актуализации?**  
Remi води PHP 8.1 като End-of-Life, PHP проектът вече не поддържа клона. Дали определен пакет 8.1 съдържа поправка срещу PHP2Shell, проверете в changelog-а на инсталирания пакет. Без запис състоянието се счита за неизяснено.

**Трябва ли след актуализация от Remi да рестартирам всяка PHP версия?**  
Да. Всяка паралелно инсталирана версия има собствена FPM услуга. Ако се рестартира само услугата на основната версия, останалите продължават да работят със стар код.

## Източници

- [Remi's RPM repository: Блог](https://blog.remirepo.net/)
- [Red Hat Security Bulletin RHSB-2026-013](https://access.redhat.com/security/vulnerabilities/RHSB-2026-013)
- [php.net: Поддържани версии](https://www.php.net/supported-versions.php)
