WordPress ist die meistgenutzte Blogging Software. Es basiert auf Scripten, die in der Programmiersprache PHP geschrieben sind. Eine typische WordPress Installation besteht aus tausenden dieser PHP Skripte. Umso wichtiger ist es, eine aktuelle PHP Version zu nutzen. Das hat nicht nur Sicherheitsaspekte sondern auch Performancegründe. Die derzeitig aktuelle Version ist PHP 8, das Ende November 2020 freigegeben wurde. PHP 8 bringt erstmals einen Just In Time Compiler – JIT – mit, der Programme zur Laufzeit in Maschinencode übersetzt und damit schneller sein soll, als die Interpreter der Vorversionen. Der Befehlssatz von PHP 8 wurde erweitert. Ich möchte in diesem Artikel zeigen, wie man PHP 8 unter Plesk Obsidian ab Version 18.0.32 installiert und aktiviert.
PHP 8 muss natürlich vom Betriebssystem unterstützt werden und installierbar sein. Ob dies der Fall ist, müssen Sie der Dokumentation Ihres Serverbetriebssystems entnehmen. Google erweist sich meist als hilfreich. Da die Installation von System zu System unterschiedlich ist, kann in diesem Artikel nicht darauf eingegangen werden. Dieser Artikel beschreibt ausdrücklich nur die Installation und Aktivierung von PHP 8 in Plesk Obsidian. Manche Linux-Versionen, die als Serverbetriebssystem genutzt werden, unterstützen die Installation von Softwarekomponenten aus der grafischen Bentzeroberfläche von Plesk heraus generell nicht. Dazu gehören alle Releases von CentOS, aber auch Ubuntu 20.04 LTS.
Im folgenden wird daher ausschließlich auf die Installation in einem Terminal eingegangen. Zuerst müssen Sie sich als Administrator via ssh Befehl in ihren Webserver einloggen. Unter macOS oder Linux geht das ganz einfach in einem Terminal Window:
ssh -XY DEINE-SERVER-IP-ADRESSE -l root ↵
DEIN-ROOT-PASSWORT ↵
Unter Windows braucht es ein wenig Zusatzsoftware wie den Terminal Emulator putty oder besser den sehr gut gemachten X Server VcXsrv. Dann ist der Befehl oben identisch. Die Parameter -XY ermöglichen übrigens das Ausführen von grafischen Programmen aus dem Webserver heraus direkt auf dem eigenen Desktop. Unter Windows funktioniert das aber nur, wenn ein X Server vie VcXsrv installiert ist.
Zuerst muss PHP 8 betriebssystemseitig installiert werden. Anmerkungen siehe oben. Dann muss PHP 8 noch in Plesk implementiert werden:
plesk installer add –components php8.0↵
Das war der anspruchsvollere Teil der Installation von PHP8. Ab jetzt kann man hervorragend mit der sehr gut gemachten grafischen Benutzeroberfläche von Plesk Obsidian weiterarbeiten und PHP 8 für den Webserver und einzelne Domains aktivieren. Dazu muss man das Plesk Panel in einem Webbrowser öffnen. und sich einloggen. Der Provider stellt dazu einen entsprechenden Link zur Verfügung. Zum Login ist ein Administrator Account und das entsprechende Passwort erforderlich. Initial wird der Account und das Passwort vom Provider vergeben.
Nach dem Einloggen erscheint der Home Bildschirm des Plesk Obsidian Panel.
Jetzt kann PHP 8 aktiviert werden: ⇒ Tools und Settings ⇒ PHP Settings auswählen.
Unter ⇒ Handler die entsprechende Version 8 für FPM Application und Fast CGI Application anwählen.
Die älteren Versionen abwählen.
Jetzt lässt sich PHP 8 für die einzelnen Domains aktivieren. Bitte mit OK bestätigen.
Sollte es beim einloggen in WordPress zu Problemen kommen, ist meist ein uraltes und nicht mehr unterstütztes Plugin der Verursacher. Hier ist es Wp-Memory-Usage, das seit Dezember 2013 nicht mehr weiterentwickelt wurde. In diesem Fall muss man die alte noch funktionierende PHP Version wieder temporär aktivieren (ziehe oben) und das nicht mehr unterstützte Plugin deaktivieren und später deinstallieren. Danach kann man das aktuelle PHP 8 wieder aktivieren und sich erneut anmelden.
Wenn alles eine zeitlang problemlos funktioniert, können die älteren PHP-Versionen auch gelöscht werden. Ich wäre damit aber erst einmal nicht zu voreilig. Der Befehl in einem Terminal unter Linux (mit Administrator-Rechten!) lautet:
plesk installer remove –components phpVersionsnummer.Unterversion ↵
Also zum Beispiel für PHP Version 7.0
plesk installer remove –components php7.0 ↵