Einleitung
PHP 8.2 bringt deutliche Performance-Verbesserungen und neue Features (wie «Read-only classes») mit sich. Wer einen Ubuntu-Server mit Nginx betreibt, sollte sicherstellen, dass er nicht auf veralteten PHP-Versionen festsitzt, die keine Sicherheitsupdates mehr erhalten.
Dieses Tutorial führt Schritt für Schritt durch die Installation von PHP 8.2-FPM und die korrekte Einbindung in Ihre Nginx-Server-Blöcke.
Voraussetzungen:
- Ubuntu Server (20.04, 22.04 oder neuer)
- Installierter Nginx Webserver
- Root- oder Sudo-Rechte
Schritt-für-Schritt Anleitung
- System aktualisieren
Bevor wir neue Pakete installieren, bringen wir die Paketquellen auf den neuesten Stand.sudo apt update - PHP 8.2 und Module installieren
Wir installieren den FPM-Dienst (FastCGI Process Manager) sowie die wichtigsten Erweiterungen für gängige CMS wie WordPress oder Typo3.sudo apt install php8.2-fpm php8.2-common php8.2-cli php8.2-mysql php8.2-gd php8.2-opcache php8.2-mbstring php8.2-curl php8.2-xml php8.2-bcmath - Dienst starten und aktivieren
Stellen Sie sicher, dass PHP automatisch startet, wenn der Server neu hochfährt.sudo systemctl start php8.2-fpm sudo systemctl enable php8.2-fpm
Zur Sicherheit prüfen wir die Version:php -v - Nginx Konfiguration anpassen
Damit Nginx die neue Version nutzt, müssen wir den Socket-Pfad in der vHost-Datei ändern. Öffnen Sie Ihre Konfigurationsdatei (z. B. für die Seite mv-lutzenberg):sudo nano /etc/nginx/sites-enabled/mv-lutzenberg.conf
Suchen Sie denfastcgi_passEintrag und ändern Sie ihn auf den neuen Socket:fastcgi_pass unix:/run/php/php8.2-fpm.sock; - Berechtigungen korrigieren (Wichtig!)
Ein häufiger Fehler («502 Bad Gateway») entsteht, wenn der Webserver (www-data) nicht auf den PHP-Socket zugreifen darf. Wir setzen die Rechte explizit:cd /run/php sudo chown www-data:www-data php8.2-fpm.sock - Nginx neu laden
Damit die Änderungen wirksam werden:sudo systemctl reload nginx
Aufräumen: Alte Versionen entfernen
Wenn alles läuft, sollten Sie alte PHP-Versionen (z. B. 7.4 oder 8.0) entfernen, um Systemressourcen zu sparen und Sicherheitslücken zu vermeiden.
# Dienst stoppen (ersetzen Sie X.X durch die alte Version)
sudo systemctl stop phpX.X-fpm
# Restlos entfernen
sudo apt-get purge phpX.X-fpm
sudo apt-get autoremove
sudo apt-get clean
Troubleshooting
Weiße Seite oder Fehler? Prüfen Sie immer zuerst die Logs, wenn die Seite nach dem Update nicht lädt. Oft fehlen spezifische PHP-Module.
Logs prüfen:sudo tail -f /var/log/nginx/error.log
Fazit
Der Wechsel auf PHP 8.2 ist dank apt und systemd schnell erledigt. Wichtig ist lediglich der korrekte Pfad zum Unix-Socket in der Nginx-Konfiguration.



