Change Laravel Homestead v7.0.1 with php 7.2 to php 7.1
You can simply run sudo update-alternatives --config php
and choose from the list like this:
You should then change the defaults for phar
, phar.phar
, phpize
, php-config
the same way you did for php
You shouldn't use older versions of Homestead if you just want to use a different version of PHP.
You can set each site to use PHP 7.1, that won't hurt anything. You can change the CLI version by running php71
from the command line.
I think I have a better solution, to switch the php version in Homestead (I am using version 8 currently) running following lines of code switches the default php version.
sudo update-alternatives --set php /usr/bin/php7.1
sudo update-alternatives --set phar /usr/bin/phar7.1
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.1
sudo update-alternatives --set phpize /usr/bin/phpize7.1
sudo update-alternatives --set php-config /usr/bin/php-config7.1
Above line will switch the php version from any version to version 7.1 (Homestead 8 comes with php 7.3 by default).
Do remember to reload web-server (apache or nginx) after making this change.
July 2020 UPDATE: In newer versions of homestead to change php version there are aliases like
php71
php72
php73
php74
etc. to easily swith between versions
As a slightly simpler alternative to update-alternatives --config php
you can enter the PHP version you want on the command line with a syntax of php71
where 7
is the major version and 1
the minor version.
For example to switch to PHP 7.1 from another version simply type php71
.
vagrant@local:~/code$ php71
update-alternatives: using /usr/bin/php7.1 to provide /usr/bin/php (php) in manual mode
update-alternatives: using /usr/bin/php-config7.1 to provide /usr/bin/php-config (php-config) in manual mode
update-alternatives: using /usr/bin/phpize7.1 to provide /usr/bin/phpize (phpize) in manual mode