Unter AlmaLinux kann PHP aus verschiedenen Quellen installiert werden, wobei die Wahl davon abhängt, welche Version Sie benötigen. Dieser Artikel gibt einen Überblick über die Möglichkeiten unter AlmaLinux 10 und 9, die Plugins sowie die Konfiguration von PHP-FPM. Die Installation von Apache und PHP-FPM zusammen mit dem Webserver und einem virtuellen Host sowie die Installation der Nginx-Mainline-Version werden in einem separaten Artikel vorgestellt.
Wir haben die Schritte im Oktober 2026 auf den Systemen AlmaLinux 10.2 und 9.8 getestet; die Versionsnummern entsprechen dem Stand zum Zeitpunkt des Tests. Führen Sie die Befehle als Root-Benutzer oder mit „sudo“ aus.
Welche PHP-Version ist im System enthalten?
| System | Standard | Weitere Versionen in den Repositories des Systems |
|---|---|---|
| AlmaLinux 10 | PHP 8.3 (8.3.36) | PHP 8.4 (8.4.27) wird ab der Version 10.2 als separates Paket mit dem Namen „php8.4“ bereitgestellt. |
| AlmaLinux 9 | PHP 8.0 (8.0.30) | PHP 8.1, 8.2 und 8.3 als Module |
Wenn Sie PHP 8.5 oder eine hier nicht aufgeführte Version benötigen, müssen Sie das Remi-Repository verwenden (siehe Option 4). Welche Version für WordPress empfohlen wird, erfahren Sie in unserem Blogbeitrag.
Auf einem Server darf jeweils nur eine Version den Namen „php“ tragen. Wenn Sie mehrere Versionen parallel nutzen möchten, können Sie dies mit den „Remi phpXY“-Paketen tun.
1. Möglichkeit: die Standard-PHP-Version
Auf AlmaLinux 10 ist dies PHP 8.3, das durch System-Updates während der gesamten Lebensdauer des Systems aktualisiert wird:
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
Die erste Zeile des Befehls „php -v“ lautet: „PHP 8.3.36 (cli)“. Unter AlmaLinux 9 würde derselbe Befehl PHP 8.0 installieren, das von den PHP-Entwicklern nicht mehr unterstützt wird; wählen Sie dort bitte eine der Module aus (3. Option).
Option 2: PHP 8.4 unter AlmaLinux 10, aus dem System-Repository
Seit Red Hat Enterprise Linux 10.2 (siehe die Red Hat-Versionshinweise) und somit auch seit AlmaLinux 10.2 ist PHP 8.4 im AppStream-Repository verfügbar, und zwar als Pakete mit dem Präfix „php8.4-“ (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 und weitere). Bei früheren Versionen der Version 10 aktualisieren Sie bitte zunächst das System (sudo dnf upgrade); die Versionsnummer wird mit dem Befehl „cat /etc/almalinux-release“ angezeigt. Die Liste der Pakete:
dnf list --available 'php8.4*'
Installieren Sie diese ganz einfach auf einem aktuellen System:
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
Wenn PHP 8.3 bereits ausgeführt wird, bricht die Installation aufgrund eines Konflikts ab: „package php8.4-fpm … conflicts with php-fpm < 8.4“. Die beiden Versionen können nicht gleichzeitig installiert werden; Version 8.4 ersetzt Version 8.3. Um den Austausch durchzuführen, erteilen Sie dnf die Berechtigung, die alten Pakete zu entfernen:
sudo dnf install --allowerasing php8.4-cli php8.4-fpm php8.4-mysqlnd
Im Test wurden die Pakete „dnf“, „php-common“ und „php-fpm“ der Version 8.3 entfernt (Removing dependent packages). Geben Sie für jedes 8.3-Erweiterungspaket das entsprechende php8.4--Paket im Befehl an, da diese sonst bei der Aktualisierung verloren gehen.
Nach dem Austausch:
- Der Befehl lautet weiterhin „
php“, der Dienst weiterhin „php-fpm“, und auch der Speicherort der Einstellungen ändert sich nicht; - Der
php-fpm-Dienst wird deaktiviert, da das Paket neu installiert wurde. Bitte aktivieren Sie ihn erneut, da er sonst nach dem nächsten Neustart nicht mehr startet:
sudo systemctl enable --now php-fpm
Zum Zeitpunkt des Tests waren in der php8.4-Paketfamilie nicht alle Plugins enthalten, die für 8.3 über EPEL verfügbar sind (beispielsweise imagick). Falls Ihre Anwendung solche Plugins benötigt, nutzen Sie bitte das Remi-Repository.
3. Möglichkeit: Ein weiteres PHP-Modul unter AlmaLinux 9
Unter AlmaLinux 9 werden die verfügbaren Versionen mit dem Befehl „dnf module list php“ aufgelistet. Auswahl und Installation von PHP 8.3:
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. Möglichkeit: PHP aus dem Remi-Repository
Mit dem Remi-Repository lassen sich sowohl unter AlmaLinux 9 als auch unter AlmaLinux 10 alle Versionen von PHP 7.4 bis 8.5 installieren (zum Zeitpunkt des Tests war die RC-Version vor der Veröffentlichung von 8.6 verfügbar). Die Einrichtung des Repositorys wird im Artikel „Installation des Remi-Repositorys unter AlmaLinux“ beschrieben; anschließend können Sie beispielsweise PHP 8.4 installieren:
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
Aus der Zeile „Built by Remi's RPM repository“ geht hervor, dass PHP aus dem Remi-Repository stammt. Für das Paket „php-pecl-redis“ hat „dnf“ das Plugin „php-pecl-redis6“ installiert. Später können Sie mit dem Befehl „sudo dnf module switch-to php:remi-8.5“ zu einer anderen Version wechseln; dabei werden auch die installierten Plugins ersetzt.
Plugins
Die Plugins sind separate Pakete mit dem Präfix „php-“ (bzw. „php8.4-“). Für WordPress und die meisten CMS reichen die oben aufgeführten Listen aus. Überprüfung:
php -m
dnf list --installed 'php*'
Häufig nachgefragte zusätzliche Plugins: „php-bcmath“ (präzise Berechnungen, z. B. in Online-Shops), „php-soap“ (SOAP-APIs), „php-pgsql“ (PostgreSQL) und „php-pecl-apcu“ (In-Memory-Cache). Suche nach verfügbaren Plugins: „dnf search php-pecl“ oder „dnf list --available 'php-pecl-*'“. Starten Sie PHP-FPM nach der Installation neu („sudo systemctl restart php-fpm“), da die Website andernfalls weiterhin mit der alten Liste der Plugins läuft.
PHP-FPM
Das PHP der Websites wird vom PHP-FPM-Dienst ausgeführt, der Webserver leitet lediglich die Anfragen an diesen weiter. Start und automatischer Start:
sudo systemctl enable --now php-fpm
Die wichtigsten Grundeinstellungen befinden sich in der Datei „/etc/php-fpm.d/www.conf“:
user = apache
group = apache
listen = /run/php-fpm/www.sock
listen.acl_users = apache,nginx
PHP läuft standardmäßig unter dem apache-Benutzer und empfängt Anfragen über einen Unix-Socket, auf den sowohl der apache- als auch der nginx-Benutzer Zugriff haben. Somit können sowohl Apache als auch Nginx ohne gesonderte Berechtigungseinstellungen genutzt werden.
- Apache: Das Paket „
php-fpm“ wird automatisch über die Datei „/etc/httpd/conf.d/php.conf“ eingebunden; es reicht aus, denhttpd-Dienst neu zu starten. - Nginx: Im „
server“-Block müssen die PHP-Anfragen an den Socket weitergeleitet werden; siehe dazu den Nginx-Artikel.
Die häufig eingestellten Werte (upload_max_filesize, memory_limit, pm.max_children) sind in Punkt 7 des Artikels zu Apache und PHP-FPM aufgeführt.
Überprüfung auf der Website
Erstellen Sie eine Testdatei im Stammverzeichnis des Webservers, öffnen Sie diese und löschen Sie sie anschließend:
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
Beim Test mit Apache lautete die Antwort „8.5.12 fpm-fcgi“: Nach der Versionsangabe zeigt „fpm-fcgi“ an, dass die Anfrage von PHP-FPM bearbeitet wurde. Wenn der PHP-Code im Browser angezeigt wird oder die Datei heruntergeladen wird, ist der Webserver nicht mit PHP-FPM verbunden.
Versionswechsel und Rücknahme
Sichern Sie vor dem Versionswechsel die Website und die Datenbank und prüfen Sie nach Möglichkeit anhand einer Testinstanz, ob die Anwendung unter der neuen Version funktioniert. Auf einem VPS ist ein Snapshot vor dem Wechsel die sicherste Vorgehensweise. Rückgängig machen:
- Remi-Modul:
sudo dnf module switch-to php:remi-8.3(oder das zuvor verwendete Modul); - Zurücksetzen des PHP-Moduls des Systems: „
sudo dnf module reset php“, anschließend „sudo dnf distro-sync“. Im Test wurden dadurch die Remi-PHP-8.5-Pakete durch die AlmaLinux-10-eigenen Pakete der Version 8.3.36 ersetzt, einschließlich der Plugins.
Sollten Sie sich nicht sicher sein, welches Modul ausgewählt ist, zeigt der Befehl „dnf module list php --enabled“ dies an (unter AlmaLinux 10 gibt es kein Modul für das systemeigene PHP; dort wird möglicherweise nur das Remi-Modul angezeigt).
Deinstallation von PHP
sudo systemctl disable --now php-fpm
sudo dnf remove 'php*'
sudo dnf module reset php
Das Muster 'php*' entfernt alle PHP-Pakete und -Plugins. Überprüfen Sie daher auf Servern, auf denen mehrere Anwendungen ausgeführt werden, die dnf-Liste, bevor Sie den Vorgang bestätigen. Die Dateien der Websites, die Datenbank und der Webserver sind davon nicht betroffen.
Wenn Sie die PHP-Versionen nicht über die Befehlszeile verwalten möchten, können Sie bei cPanel-Hosting die Version und die Plugins im Control Panel auswählen, während Sie bei KVM-VPS mit den oben genannten Schritten jede beliebige Version einrichten können.