Repozitorij Remi (Remi’s RPM repository) je repozitorij Remija Colleta, razvijalca, ki vzdržuje tudi pakete PHP pri Red Hatu. Za AlmaLinux, Rocky Linux in Red Hat Enterprise Linux ponuja novejše ali starejše različice PHP od tistih v sistemu, poleg tega pa Redis, Valkey, Composer in veliko razširitev PHP. Potrebuješ ga, če aplikacija zahteva drugo različico PHP od tiste, ki jo da AlmaLinux, ali če želiš na enem strežniku poganjati več različic PHP.
Korake smo preizkusili v sistemih AlmaLinux 10.2 in 9.8, ukaze zaganjaj kot uporabnik root ali s sudo.
1. Vklop EPEL
Paketi Remi gradijo na repozitoriju EPEL, zato najprej vklopi njega (podrobno: Namestitev repozitorija EPEL v AlmaLinux):
sudo dnf install epel-release
sudo crb enable
2. Namestitev repozitorija Remi
Nastavitveni paket se namesti s strani Remi, z URL-ja, ki ustreza glavni različici sistema.
AlmaLinux 10:
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
AlmaLinux 9:
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
V preizkusu se je v AlmaLinux 10 namestil paket remi-release-10.2-1, v AlmaLinux 9 pa remi-release-9.8-1. Ob namestitvi prvega paketa Remi dnf zahteva uvoz podpisnega ključa Remi (Userid : "Remi's RPM repository (https://rpms.remirepo.net/) <remi@remirepo.net>"), potrdi ga z y.
3. Kaj je paket vklopil?
dnf repolist
Remi ustvari več repozitorijev, od katerih sta dva aktivna:
| Repozitorij | Privzeto | Za kaj je |
|---|---|---|
remi-modular |
vklopljen | zamenljive različice PHP, Redis, Valkey in drugih programov kot moduli (glej spodaj) |
remi-safe |
vklopljen | le paketi, ki v sistemu ničesar ne zamenjajo, na primer vzporedno namestljiva php84, php85 |
remi |
izklopljen | posodobitve, ki prepišejo lastne pakete sistema |
remi-test |
izklopljen | paketi v preizkušanju |
Repozitorijev remi in remi-test na produkcijskem strežniku ne vklapljaj. remi-modular in remi-safe sama po sebi ne zamenjata ničesar: dokler ne izbereš modula ali ne namestiš paketa phpXY, ostanejo paketi sistema.
4. Izbirne različice
Remi različice programov ponuja kot module. Seznam razpoložljivih različic PHP:
dnf module list php
[e] (enabled) ob remi-8.5 na sliki pomeni, da je izbrana ta različica. V času preizkusa (oktober 2026) je bilo na voljo naslednje:
| Program | Moduli (streami) |
|---|---|
php |
remi-7.4, remi-8.0 … remi-8.5, remi-8.6 (8.6 še predizdaja, RC) |
redis |
remi-7.2, remi-8.0, remi-8.2 … remi-8.10 |
valkey |
remi-8.1, remi-9.0, remi-9.1, remi-9.2 |
composer |
2 |
memcached |
remi |
V AlmaLinux 9 dnf module list php poleg modulov Remi, ki se začnejo z remi-, pokaže tudi lastne module sistema (8.1, 8.2, 8.3). AlmaLinux 10 za lastne pakete modulov ne uporablja več; tam se prikažejo le moduli Remi, dnf pa tudi opozori: „modularity is deprecated, and functionality will be removed in a future release of DNF5”. Moduli Remi so v AlmaLinux 10 v času preizkusa kljub temu delovali brezhibno.
5. Izbira različice
Primer za PHP 8.4:
sudo dnf module reset php
sudo dnf module enable php:remi-8.4
sudo dnf install php php-cli php-fpm
reset izbriše prejšnjo izbiro, enable nastavi novo. Od tedaj php, php-fpm in vsi paketi razširitev php-… prihajajo iz različice 8.4 repozitorija Remi, tudi posodobitve pa ostanejo znotraj nje. Na drugo različico preklopiš z ukazom switch-to, ki zamenja tudi nameščene pakete:
sudo dnf module switch-to php:remi-8.5
Če poskusiš vklopiti drug stream brez reset, dnf to zavrne:
Error: It is not possible to switch enabled streams of a module unless explicitly enabled via configuration option module_stream_switch.
Takrat uporabi ukaz switch-to ali najprej reset. Kateri stream je trenutno izbran, pokaže dnf module list php --enabled.
Za PHP iz Remi tudi pogoste razširitve PECL pridejo iz modula, prilagojene različici PHP, na primer php-pecl-redis6 (Redis) in php-pecl-memcached (Memcached).
Celoten postopek namestitve PHP, razširitve in povezavo s spletnim strežnikom opisuje članek Namestitev PHP v AlmaLinux 9 in 10, Redis pa članek Namestitev Redis in Valkey v AlmaLinux.
6. Več različic PHP hkrati (remi-safe)
V repozitoriju remi-safe je vsaka različica PHP na voljo tudi z lastno predpono (php81, php82 … php86). Te se namestijo poleg sistemskega PHP, v ločen imenik, zato lahko na enem strežniku teče več različic:
sudo dnf install php85-php-cli php85-php-fpm php85-php-mysqlnd
php85 -v
sudo systemctl enable --now php85-php-fpm
| Sistemski PHP | Vzporedni (primer: 8.5) | |
|---|---|---|
| Ukaz | php |
php85 |
| Storitev | php-fpm |
php85-php-fpm |
| Nastavitve | /etc/php.ini, /etc/php-fpm.d/ |
/etc/opt/remi/php85/ |
| Vtičnica FPM | /run/php-fpm/www.sock |
/var/opt/remi/php85/run/php-fpm/www.sock |
V spletnem strežniku je treba upravljalnik PHP določene strani usmeriti na ustrezno vtičnico, tako lahko na primer stara aplikacija teče na PHP 8.1, nova stran pa na PHP 8.5 na istem strežniku.
Posodobitve in varnost
Paketi Remi se posodabljajo z ukazom dnf upgrade, znotraj izbranega modula. Razvijalci PHP vsako različico dve leti aktivno podpirajo, nato pa še dve leti le z varnostnimi popravki (vir: php.net, Supported Versions):
| Različica | Aktivna podpora | Varnostni popravki |
|---|---|---|
| PHP 8.2 | potekla | do 31. decembra 2026 |
| PHP 8.3 | potekla | do 31. decembra 2027 |
| PHP 8.4 | do 31. decembra 2026 | do 31. decembra 2028 |
| PHP 8.5 | do 31. decembra 2027 | do 31. decembra 2029 |
Za novo namestitev izberi 8.4 ali 8.5. Staro različico, ki je razvijalci PHP ne podpirajo več (v času preizkusa so bile take 7.4, 8.0 in 8.1), Remi sicer še ponuja, a od razvijalcev PHP ne dobivajo več varnostnih popravkov. Uporabljaj jih le začasno, za selitev stare aplikacije. O času podpore različic PHP piše tudi naš blogovski zapis o koncu podpore za PHP 8.2.
Če različic PHP ne želiš upravljati ročno, na gostovanju cPanel različico PHP in razširitve izbereš z enim klikom, na VPS pa to breme prevzame upravljano vzdrževanje.
Odstranitev Remi
Najprej pakete, nameščene iz modula, zamenjaj s sistemskimi in odstrani vzporedne različice:
sudo dnf module reset php
sudo dnf distro-sync
sudo dnf remove 'php85-*'
V preizkusu je distro-sync pakete PHP 8.5 iz Remi zamenjal z lastnimi paketi PHP 8.3.36 AlmaLinux 10 (Downgrading), skupaj z razširitvami; paketov php85-* pa se ni dotaknil, te je treba odstraniti posebej. Če si uporabljal tudi modul Redis ali Valkey, ga ponastavi na enak način (dnf module reset redis). Na koncu:
sudo dnf remove remi-release
![Izpis dnf module list php v sistemu AlmaLinux 10 z repozitorijem Remi: od remi-7.4 do remi-8.6, ob remi-8.5 oznaka [e], pod njim izpis php -v](/assets/images/kb/almalinux-remi-php-modulok.webp)