Wie kann ich die PHP-Version im LAMP Stack ändern?

Melden
  1. Überblick und Voraussetzungen
  2. Verfügbare PHP-Versionen installieren
  3. Apache konfigurieren (mod_php versus php-fpm)
  4. Konfigurationsdateien und Erweiterungen prüfen
  5. Apache neu starten und Version prüfen
  6. Fehlerbehebung und Rückfallplan

Überblick und Voraussetzungen

Um die PHP-Version in einem LAMP-Stack (Linux, Apache, MySQL/MariaDB, PHP) zu ändern, benötigen Sie Root- oder Sudo-Rechte auf dem Server. Stellen Sie sicher, dass Sie wissen, welche Distribution (z. B. Ubuntu/Debian oder CentOS/RHEL) Sie verwenden, denn die Paketnamen und Befehle unterscheiden sich. Erstellen Sie vor Änderungen eine Datensicherung Ihrer Konfigurationsdateien und Websites, damit Sie bei Problemen zurückkehren können.

Verfügbare PHP-Versionen installieren

Unter Debian/Ubuntu fügen Sie gegebenenfalls ein Repository wie Ondřej Surýs PPA hinzu, das mehrere PHP-Versionen anbietet. Aktualisieren Sie danach die Paketliste und installieren die gewünschte PHP-Version sowie die benötigten Module (z. B. php7.4-mysql, php7.4-xml). Unter CentOS/RHEL aktivieren Sie das Remi-Repository und installieren die gewünschte php-Version-Packages. Achten Sie darauf, sowohl die CLI-Pakete als auch die FPM- oder Apache-Module zu installieren, je nachdem wie Apache PHP nutzt (mod_php vs. php-fpm).

Apache konfigurieren (mod_php versus php-fpm)

Wenn Apache mit mod_php betrieben wird, müssen Sie das aktuelle PHP-Apache-Modul deaktivieren und das Modul der neuen Version aktivieren. Unter Debian/Ubuntu geschieht das typischerweise mit a2dismod phpX.Y und a2enmod phpA.B, gefolgt von einem Apache-Neustart. Bei Verwendung von php-fpm konfigurieren Sie Apache so, dass Requests an den passenden PHP-FPM-Socket oder -Port weitergeleitet werden. Das kann bedeuten, dass Sie die Proxy-/SetHandler- oder den -Block in der VirtualHost-Konfiguration anpassen, um auf /run/php/phpX.Y-fpm.sock oder einen TCP-Port zu zeigen. Starten und aktivieren Sie den entsprechenden php-fpm-Dienst.

Konfigurationsdateien und Erweiterungen prüfen

Überprüfen Sie die php.ini der neuen Version auf wichtige Einstellungen wie memory_limit, upload_max_filesize, post_max_size, max_execution_time und error_reporting. Installieren oder aktivieren Sie alle erforderlichen PHP-Erweiterungen, die Ihre Anwendungen benötigen (z. B. gd, mbstring, curl, zip). Prüfen Sie Kompatibilität von Anwendungen mit der neuen PHP-Version, da Breaking Changes oder entfernte Funktionen vorhanden sein können.

Apache neu starten und Version prüfen

Starten oder reloaden Sie Apache nach den Änderungen, damit die neue PHP-Version wirksam wird. Nutzen Sie zur Kontrolle php -v auf der Kommandozeile (zeigt die CLI-Version) und eine kleine PHP-Info-Seite () unter dem Webroot, um die vom Webserver verwendete PHP-Version und die geladenen Module zu überprüfen. Entfernen Sie die phpinfo()-Datei wieder nach der Prüfung aus Sicherheitsgründen.

Fehlerbehebung und Rückfallplan

Bei Problemen prüfen Sie die Apache-Logs (z. B. /var/log/apache2/error.log oder /var/log/httpd/error_log) und die php-fpm-Logs. Häufige Fehler sind fehlende Module, falsche Socket-Pfade oder Berechtigungsprobleme. Haben Sie einen Rückfallplan: notieren Sie vorherige Paketstände oder behalten Sie die alte PHP-Version installiert, um bei Kompatibilitätsproblemen schnell zurückwechseln zu können.

0

Kommentare