PHP 5 durch PHP 7 für Apache2 ersetzen

php_logo

Es war wieder an der Zeit meine lokale WordPress-Installation auf Vordermann zu bringen. Mein Provider hat in der Zwischenzeit auf PHP 7.2 umgestellt und lokal war ich immer noch auf PHP 5.6. Da ich auch sonst gelegentlich noch allerhand auf dem Rechner ausprobiere, meldete der Webserver (Apache2) lapidar, dass die lokale WordPress-Seite nicht erreichbar ist. Nach kurzer Suche entschloss ich mich daher PHP komplett neu zu installieren.

PHP5 komplett entfernen

Zuerst sollte man prüfen, welche Module in Apache aktiviert sind und sie ggfls. deaktivieren. Sie findet man im Verzeichnis /etc/apache2/mods-enabled und im Terminal listet man sie so auf:

:~$ cd /etc/apache2/mods-enabled
:~$ ls -la

Findet man hier noch eine PHP5-Modul, disabled man es mit

:~$ sudo a2dismod php5

Um sicher zu stellen, dass man alle Module, die man unter der alten PHP-Version verwendet hat auch unter 7.2 wieder zur Verfügung stellen kann, erstellt man eine Liste.

:~$ php -m > /home/<user>/php_modulliste.txt

Immer noch im Modul-Verzeichnis von Apache2 kann man PHP 5.6 komplett entfernen. Bei PHP 7.0 funktioniert das genauso, man muss nur die Versionsnummer in den Befehlen anpassen.

:~$ sudo service apache2 stop
:~$ sudo rm php5.load php5.conf
:~$ sudo apt-get purge php5.6-common
:~$ sudo apt-get autoremove

Abschliessend müssen noch die Konfigurationen für die alten PHP-Versionen entfernt werden. <name> wird dabei durch alle in diesem Verzeichnis befindlichen Dateien von php5 ersetzt.

:~$ cd /etc/apache2/conf-enabled
:~$ sudo rm <name>

Installation PHP 7.2

Unter Ubuntu 16.04 muss man ein PPA einbinden, um PHP 7.2 installieren zu können. Für 18.04 ist PHP 7.2 im Standard-Repository enthalten.

# Die folgende Zeile ist nur bei Ubuntu 16.04 notwendig
:~$ sudo add-apt-repository ppa:ondrej/php

# Für Ubuntu 16.04 und 18.04
:~$ sudo apt-get update
:~$ sudo apt-get install php7.2

PHP 7.2 muss jetzt noch für den Apache2 verfügbar gemacht werden:

:~$ sudo a2enmod php7.2

Die Konfigurationsdateien für PHP 7.2 werden enabled und der Apache2 neu gestartet.

:~$ sudo a2enconf php7.2-cgi
:~$ sudo a2enconf php7.2-fpm
:~$ sudo service apache2 restart

Im Error-Log-File unter /var/log/apache2/error.log kann man den Webserver prüfen. Sollten hier sehr viele Fehler auftauchen, dann hilft ein Tipp aus https://askubuntu.com/questions/760907/upgrade-to-16-04-php7-not-working-in-browser, der auch für PHP 7.2 funktioniert:

sudo apt install libsnmp-dev
sudo net-snmp-config --snmpconfpath
sudo apt-get install snmp snmp-mibs-downloader
sudo su > /var/log/apache2/error.log
exit
sudo service apache2 restart

Ähnliche Beiträge:
->short_open_tag in PHP 7.0
-> Installation von mycrypt für PHP7.2

Buy Me a Coffee at ko-fi.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Nobody is perfect
Einen Fehler gefunden?
Verbesserungsvorschläge, Lob oder Kritik?

Schreiben Sie mir mit dem -> Kontaktformular
oder per -> E-Mail.
DANKE!