PHP telepítése AlmaLinux 9 és 10 rendszeren

Linux 6 perc olvasás

AlmaLinuxon a PHP többféle forrásból telepíthető, és a választás azon múlik, melyik verzióra van szüksége. Ez a cikk sorra veszi a lehetőségeket AlmaLinux 10 és 9 rendszeren, a bővítményeket és a PHP-FPM beállítását. A webszerverrel együtt, virtuális hosttal az Apache és PHP-FPM telepítése, illetve az Nginx mainline telepítése cikk mutatja be.

A lépéseket 2026 októberében AlmaLinux 10.2 és 9.8 rendszeren próbáltuk ki; a verziószámok a teszt idején érvényesek. A parancsokat root felhasználóként vagy sudo-val futtassa.

Melyik PHP jön a rendszerrel?

Rendszer Alapértelmezett Más verziók a rendszer tárolóiban
AlmaLinux 10 PHP 8.3 (8.3.36) PHP 8.4 (8.4.27) külön, php8.4 nevű csomagokként, a 10.2-es kiadástól
AlmaLinux 9 PHP 8.0 (8.0.30) PHP 8.1, 8.2 és 8.3 modulként

Ha PHP 8.5-re vagy az itt nem szereplő verzióra van szüksége, a Remi tárolót kell használnia (lásd a 4. lehetőséget). Hogy WordPresshez melyik verzió ajánlott, erről blogcikkünk szól.

Egy szerveren a php csomagnevet egyszerre csak egy verzió viselheti. Ha párhuzamosan több verziót szeretne, azt a Remi phpXY csomagjaival teheti meg.

1. lehetőség: az alapértelmezett PHP

AlmaLinux 10-en ez a PHP 8.3, amelyet a rendszer frissítései a teljes élettartama alatt javítanak:

sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-intl php-opcache php-pecl-zip
php -v

A php -v első sora: PHP 8.3.36 (cli). AlmaLinux 9-en ugyanez a parancs PHP 8.0-t telepítene, amelyet a PHP fejlesztői már nem támogatnak, ott válasszon a modulok közül (3. lehetőség).

2. lehetőség: PHP 8.4 AlmaLinux 10-en, a rendszer tárolójából

A Red Hat Enterprise Linux 10.2 óta (lásd a Red Hat kiadási jegyzetét), és így az AlmaLinux 10.2 óta az AppStream tárolóban a PHP 8.4 is megvan, php8.4- előtagú csomagokként (php8.4-cli, php8.4-fpm, php8.4-mysqlnd, php8.4-gd, php8.4-intl, php8.4-mbstring, php8.4-xml, php8.4-opcache, php8.4-pecl-zip, php8.4-pecl-redis6, php8.4-pecl-apcu és mások). Korábbi 10-es kiadáson előbb frissítse a rendszert (sudo dnf upgrade); a kiadás számát a cat /etc/almalinux-release mutatja. A csomagok listája:

dnf list --available 'php8.4*'

Friss rendszeren egyszerűen telepítse őket:

sudo dnf install php8.4-cli php8.4-fpm php8.4-mysqlnd php8.4-gd php8.4-xml php8.4-mbstring php8.4-intl php8.4-opcache

Ha már fut a PHP 8.3, a telepítés ütközéssel leáll: „package php8.4-fpm … conflicts with php-fpm < 8.4”. A két verzió nem lehet egyszerre telepítve, a 8.4 a 8.3 helyére lép. A cseréhez engedélyezze a dnf-nek a régi csomagok eltávolítását:

sudo dnf install --allowerasing php8.4-cli php8.4-fpm php8.4-mysqlnd

A teszten a dnf a php-common és a php-fpm 8.3-as csomagot távolította el (Removing dependent packages). Minden 8.3-as bővítménycsomagnak adja meg a php8.4- párját a parancsban, különben azok a cserével eltűnnek.

A csere után:

  • a parancs továbbra is php, a szolgáltatás továbbra is php-fpm, és a beállítások helye sem változik;
  • a php-fpm szolgáltatás letiltott állapotba kerül, mert a csomagja újratelepült. Kapcsolja be újra, különben a következő újraindítás után nem indul el:
sudo systemctl enable --now php-fpm

A php8.4 csomagcsaládban a teszt idején nem volt minden bővítmény meg, ami a 8.3-hoz az EPEL-ből elérhető (például az imagick). Ha az alkalmazásának ilyen kell, használja a Remi tárolót.

3. lehetőség: újabb PHP modulból AlmaLinux 9-en

AlmaLinux 9-en a választható verziókat a dnf module list php sorolja fel. A PHP 8.3 kiválasztása és telepítése:

sudo dnf module reset php
sudo dnf module enable php:8.3
sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-intl php-opcache php-pecl-zip

4. lehetőség: PHP a Remi tárolóból

A Remi tárolóval AlmaLinux 9-en és 10-en egyaránt a PHP 7.4-től a 8.5-ig bármelyik verzió telepíthető (a teszt idején a 8.6 kiadás előtti, RC változatban volt elérhető). A tároló beállítását a Remi tároló telepítése AlmaLinuxon cikk írja le; utána például a PHP 8.4:

sudo dnf module reset php
sudo dnf module enable php:remi-8.4
sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-intl php-opcache php-pecl-zip php-pecl-redis
php -v
PHP 8.4.27 (cli) (built: Oct 19 2026 14:38:59) (NTS gcc aarch64)
Copyright (c) The PHP Group
Built by Remi's RPM repository <https://rpms.remirepo.net/> #StandWithUkraine #NoAI

A Built by Remi's RPM repository sorból látszik, hogy a PHP a Remi tárolóból jön. A php-pecl-redis csomagnévre a dnf a php-pecl-redis6 bővítményt telepítette. Később másik verzióra a sudo dnf module switch-to php:remi-8.5 paranccsal válthat; ez a telepített bővítményeket is lecseréli.

Bővítmények

A bővítmények külön csomagok, php- (illetve php8.4-) előtaggal. A WordPresshez és a legtöbb CMS-hez a fenti listák elegendők. Ellenőrzés:

php -m
dnf list --installed 'php*'

Gyakran kért további bővítmények: php-bcmath (pontos számolás, például webáruházakban), php-soap (SOAP API-k), php-pgsql (PostgreSQL), php-pecl-apcu (memóriabeli gyorsítótár). Elérhető bővítmény keresése: dnf search php-pecl vagy dnf list --available 'php-pecl-*'. Telepítés után indítsa újra a PHP-FPM-et (sudo systemctl restart php-fpm), különben a weboldal még a régi bővítménylistával fut.

A PHP-FPM

A weboldalak PHP-ját a PHP-FPM szolgáltatás futtatja, a webszerver csak továbbítja neki a kéréseket. Indítás és automatikus indítás:

sudo systemctl enable --now php-fpm

A fontosabb alapbeállítások a /etc/php-fpm.d/www.conf fájlban:

user = apache
group = apache
listen = /run/php-fpm/www.sock
listen.acl_users = apache,nginx

A PHP alapból az apache felhasználóval fut, és egy Unix socketen fogadja a kéréseket, amelyhez az apache és az nginx felhasználó is hozzáférhet. Így az Apache és az Nginx is külön jogosultság-beállítás nélkül használhatja.

  • Apache: a php-fpm csomag a /etc/httpd/conf.d/php.conf fájllal automatikusan beköti, elég a httpd-t újraindítani.
  • Nginx: a server blokkban kell a PHP-kéréseket a sockethez irányítani, lásd az Nginx-cikkben.

A gyakran állított értékeket (upload_max_filesize, memory_limit, pm.max_children) az Apache és PHP-FPM cikk 7. pontja sorolja fel.

Ellenőrzés a weboldalon

Hozzon létre egy próbafájlt a webszerver gyökérkönyvtárában, nyissa meg, majd törölje:

echo '<?php echo PHP_VERSION, " ", PHP_SAPI, "\n";' | sudo tee /var/www/html/v.php
curl -s http://localhost/v.php
sudo rm /var/www/html/v.php

A teszten Apache-csal a válasz 8.5.12 fpm-fcgi volt: a verzió után az fpm-fcgi mutatja, hogy a kérést a PHP-FPM szolgálta ki. Ha a böngészőben a PHP-kód jelenik meg vagy letöltődik a fájl, a webszerver nincs a PHP-FPM-hez kötve.

Verzióváltás és visszalépés

Verzióváltás előtt mentse a weboldalt és az adatbázist, és ha lehet, egy próbapéldányon nézze meg, működik-e az alkalmazás az új verzión. VPS-en a legbiztosabb egy pillanatkép a váltás előtt. Visszalépés:

  • Remi modul: sudo dnf module switch-to php:remi-8.3 (vagy amelyik korábban futott);
  • vissza a rendszer PHP-jára: sudo dnf module reset php, majd sudo dnf distro-sync. A teszten ez a Remi PHP 8.5-öt az AlmaLinux 10 saját 8.3.36-os csomagjaira cserélte, a bővítményekkel együtt.

Ha nem biztos benne, melyik modul van kiválasztva, a dnf module list php --enabled megmutatja (AlmaLinux 10-en a rendszer PHP-jához nincs modul, ott csak a Remi-féle jelenhet meg).

A PHP eltávolítása

sudo systemctl disable --now php-fpm
sudo dnf remove 'php*'
sudo dnf module reset php

A 'php*' minta minden PHP-csomagot és bővítményt eltávolít, ezért több alkalmazást futtató szerveren nézze át a dnf listáját, mielőtt jóváhagyja. A weboldalak fájljait, az adatbázist és a webszervert ez nem érinti.

Ha nem szeretné a PHP-verziókat parancssorból kezelni, a cPanel tárhelyen a verzió és a bővítmények a vezérlőpultban választhatók, a KVM VPS-en pedig a fenti lépésekkel bármelyik verziót beállíthatja.

Vissza: Linux leírások (62)