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