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:

enter image description here

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