karmendra
karmendra

Reputation: 2243

Change Laravel Homestead v7.0.1 with php 7.2 to php 7.1

What are the steps to downgrade the PHP version to 7.1 and make it default on the latest Homestead 7, Homestead 7 comes with PHP version 7.2 as default.

There are several dev sites on my homestead I want everything to run on 7.1 by default, if I need 7.2 then I will use the following in my homestead yaml

sites:
    - map: homestead.test
      to: /home/vagrant/Code/homestead/public
      php: "7.2"

Upvotes: 30

Views: 32251

Answers (4)

mattwith
mattwith

Reputation: 53

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

Upvotes: 1

karmendra
karmendra

Reputation: 2243

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

Upvotes: 36

Denes Papp
Denes Papp

Reputation: 3992

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

Upvotes: 45

joepferguson
joepferguson

Reputation: 1088

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.

Upvotes: 14

Related Questions