Switch from PHP 7.2 to 7.1 on Ubuntu 16.04, Apache

Solution 1:

Below is a description of what I did. I hope this information can help someone else:

I installed PHP 7.1 along side PHP 7.2. I also installed most of the needed extensions for PHP 7.1. I then did a2dismod php7.2 and a2enmod php7.1 so that I could switch over to PHP 7.1 while keeping 7.2 still installed on the server. Most of my sites work after making the switch. The only site that doesn't seem to be working is a Joomla site. The full list of commands I ran are below:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo a2dismod php7.2

sudo a2enmod php7.1

sudo service apache2 restart

Solution 2:

for display enabled php version in terminal by php -v. we need to set update cli version of php. use below command to update php cli version

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1

Solution 3:

@pegues: Your above mentioned method worked well for apache to switch the different version. By running following commands will change the php from terminal as well. Actually you just need to change the symlink to the desired PHP version.

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

Solution 4:

This is what I did:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

And to confirm that you have the php 7.1 type the following command

php --ini |grep Loaded

it should return the following response

Loaded Configuration File:         /etc/php/7.1/cli/php.ini

if you are using laravel for some reason then modify your fpm.service to point to the 7.1 version and then restart it as well

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart