Wechsel der Standard PHP-Version auf einem Server
Ausgangssituation
Auf dem Server mit dem Betriebssystem Ubuntu 14.04.03 sind vier verschiedene PHP-Versionen installiert
- Plesk-PHP 5.5.38
- Plesk-PHP 5.6.25
- Plesk-PHP 7.0.10
- Server-PHP 5.5.9
Die PHP-Version 5.5.9, welches in diesem Beispiel auch die niedrigste PHP-Version ist, wurde bei der Installation des Servers angelegt, liegt im Verzeichnis /usr/lib und wird von allen Programmen auf dem Server verwendet, die einen PHP-Interpreter verwenden.
Die anderen PHP-Versionen hat das Server-Administrationstool Plesk mitgebracht und lassen sich über dieses installieren/deinstallieren und domainspezifisch zuordnen. Gerade wenn man mehrere Domains auf einem Server hostet und die Anwendungen dieser Domains unterschiedliche Versionsstände der PHP-Versionen erfordern, ist dies von grundlegender Bedeutung.
Anmerk.: Natürlich könnte man denken, je höher, desto besser, also das schnelle PHP 7.0 für alle Anwendungen, wird schon passen :-). Aber dem ist nicht so.
Beispielsweise gibt es bei WordPress durchaus ein paar, eigentlich sehr gute Plugins, die aber unter PHP 7.0 nicht laufen, weil sie z.B. als deprecated markierte Funktionen verwenden, die in PHP 7.0 nicht mehr implementiert wurden. Dann muss man sich für diese Domain dann vielleicht mit PHP 5.6 begnügen.
Aufgabenstellung
Einige der auf dem Entwicklungsserver laufenden Programme wurden geupgraded und erzwingen geradezu, dass die vom Server als Standard bereitgestellte PHP Version angehoben wird. Die Anhebung soll auf PHP 5.6 erfolgen, wobei hierbei die von Plesk installierte Version mitbenutzt werden soll.
Ermittlung des Ist-Zustands
Version der derzeitigen Standardversion
Verzeichnispfad der derzeitigen PHP-Standardversion
Temporäres Setzen der Umgebungsvariable PATH
Wichtig: Bei dieser Variante liegt die Betonung auf temporär, also nur geeignet, für Testzwecke. Man kann untersuchen, wie Programme sich verhalten würden, wenn die PHP-Version umgestellt wäre.
Der geänderte Inhalt der Variable PATH ist nur solange gültig, wie die aktuelle Terminal-Session läuft.
Setzen des PHP 5.6 Pfades vor (dies ist wichtig) dem bisherigen Pfad
Kontrolle, dass die neue PHP-Version nun als Default PHP Version verwendet wird
Permanentes Setzen der Umgebungsvariable PATH
Es gibt ein paar Stellen (Dateien), die geeignet sind systemweite Umgebungsvariablen zu setzen (siehe Ubuntu Documentation [1]).
Mein Favorit ist die Datei
/etc/environment
Dort habe ich dann auch auf diesem Testsystem den PHP-Verzeichnispfad der Plesk-PHP 5.6 Version vor allen anderen Pfaddefinitionen eingestellt und den Server neu gebootet.
Links
[1] Ubuntu Documentation: Environment Variables
Kategorie: Server Administration