Wie in der PHP-FPM Beschreibung schon beschrieben können unterschiedliche Konfigurationen für unterschiedliche vHosts erstellt werden.
Das hat natürlich den Vorteil, dass unterschiedliche vHosts mit unterschiedlichen PHP Versionen ausgeführt werden können, was bei Legacy-Software öfters der Fall ist, da diese die neuesten PHP Standards nicht implementiert haben und zu mindest Warnings auftauchen.
Diese Konfiguration ändert aber nichts an der systemweiten installierten PHP Version.
Das bedeutet, dass die PHP Version aus einer PHP-Info Datei nicht unbedingt die gleiche sein muss wie die PHP Version, die aus dem folgenden Befehl über das Terminal erscheint.
php -v
PHP 7.2.19-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 31 2019 11:17:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.19-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans
Wie ändert man die Standard PHP Version in der CLI?
HINWEIS: Dies ist nur möglich, wenn root bzw. sudo Rechte am Server vorhanden sind!
Über folgenden Befehl findet man heraus, was der Pfad zu einem Befehl ist
which php
Dieser gibt bei meinem Server aktuell folgendes aus:
/usr/bin/php
Wenn man nun diese „Datei“ genauer betrachtet sieht man folgendes:
ls -al /usr/bin/php
lrwxrwxrwx 1 root root 21 Jan 3 2018 /usr/bin/php -> /etc/alternatives/php
Das bedeutet, dass /usr/bin/php eigentlich nur auf /etc/alternatives/php zeigt, also eine Art Verknüpfung. Hier sieht man aber schon am Pfad, dass es etwas mit den „alternatives“ zu tun hat.
Wenn diese Datei genauer betrachtet wird sieht man folgendes:
ls -al /etc/alternatives/php
lrwxrwxrwx 1 root root 15 May 31 2018 /etc/alternatives/php -> /usr/bin/php7.2
Dieser Link zeigt nun zum „wirklichen“ Binary, welches dann PHP in der Version ausführt.
ls -al /usr/bin/php7.2
-rwxr-xr-x 1 root root 4899864 May 31 13:17 /usr/bin/php7.2
D.h. der Befehl „php“ liegt in „/usr/bin/php“, welcher dann weiter zu „/etc/alternatives/php“ und final zu „/usr/bin/php7.2“ linkt.
Um diese „Verlinkung“ nun anzupassen (um eine andere PHP Version in der CLI zu erhalten) kann folgender Befehl eingegeben werden:
sudo update-alternatives --set php /usr/bin/php7.3
Damit haben wir die Standard PHP Version in der CLI von 7.2 auf 7.3 geändert.
php -v
PHP 7.3.6-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: May 31 2019 11:06:48) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.6-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans