Как переключаться между несколькими версиями PHP в Ubuntu

by itisgood

Иногда самая последняя версия установленного пакета может работать не так, как вы ожидали.

Приложение может не соответствовать обновленному пакету и поддерживать только определенную старую версию пакета.

В таких случаях вы можете просто отказаться от проблемного пакета до его ранней рабочей версии в кратчайшие сроки

Однако вам не нужно понижать некоторые пакеты.

Мы можем использовать несколько версий одновременно.

Например, скажем, вы тестируете приложение PHP в стек LAMP, развернутое в Ubuntu 18.04 LTS.

Через некоторое время вы обнаружите, что приложение отлично работает в PHP5.6, но не в PHP 7.2 (Ubuntu 18.04 LTS устанавливает PHP 7.x по умолчанию).

Вы собираетесь снова установить PHP или весь пакет LAMP? Не обязательно.

Вам даже не нужно понижать PHP до более ранней версии.

В этом кратком уроке я покажу вам, как переключаться между несколькими версиями PHP в Ubuntu 18.04 LTS. Это не так сложно, как вы думаете.

Полное обучение PHP вы всегда можете пройти здесь : https://webshake.ru/php-training-course

Переключение между несколькими версиями PHP

Чтобы проверить установленную по умолчанию версию PHP, запустите:

$ php -v
PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

Как вы можете увидеть, установленная версия PHP – 7.2.7.

После тестирования вашего приложения пару дней вы узнаете, что ваше приложение не поддерживает PHP7.2.

В таких случаях неплохо иметь версию PHP5.x и версию PHP7.x, так что вы можете в любой момент легко переключаться между любой поддерживаемой версией.

Вам не нужно удалять PHP7.x или переустанавливать стек LAMP. Вы можете использовать как версии PHP5.x, так и 7.x вместе.

Я предполагаю, что вы еще не удалили php5.6 в своей системе.

На всякий случай, вы удалили его уже, вы можете установить его снова, используя PPA, как показано ниже.

Вы можете установить PHP5.6 из PPA:

$ sudo add-apt-repository -y ppa:ondrej/php
$ sudo apt update
$ sudo apt install php5.6

Переключитесь с PHP7.x на PHP5.x

Сначала отключите модуль PHP7.2, используя команду:

$ sudo a2dismod php7.2
Module php7.2 disabled.
To activate the new configuration, you need to run:
systemctl restart apache2

Затем включите модуль PHP5.6:

$ sudo a2enmod php5.6

Установите PHP5.6 в качестве версии по умолчанию:

$ sudo update-alternatives --set php /usr/bin/php5.6

Кроме того, вы можете запустить следующую команду, чтобы установить, какую версию PHP по всей системе вы хотите использовать по умолчанию.

$ sudo update-alternatives --config php

Введите номер, чтобы установить его как версию по умолчанию или просто нажмите ENTER, чтобы сохранить текущий выбор.

В случае, если вы установили другие расширения PHP, установите их как по умолчанию.

$ sudo update-alternatives --set phar /usr/bin/phar5.6

Наконец, перезапустите веб-сервер Apache:

$ sudo systemctl restart apache2

Теперь проверьте, является ли версия PHP5.6 версией по умолчанию или нет:

$ php -v
PHP 5.6.37-1+ubuntu18.04.1+deb.sury.org+1 (cli) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Переключитесь с PHP5.x на PHP7.x

Аналогично, вы можете переключиться с PHP5.x на версию PHP7.x, как показано ниже:

$ sudo a2enmod php7.2
$ sudo a2dismod php5.6
$ sudo update-alternatives --set php /usr/bin/php7.2
$ sudo systemctl restart apache2

 

You may also like

2 комментария

Как переключаться между различными версиями команд в Linux — ITISGOOD.RU 13.08.2018 - 15:08

[…] Пару дней назад мы обсудили, как переключаться между несколькими версиями PHP. […]

Reply
Как установить PHP 7.3 на Arch Linux и Manjaro — Information Technology is good 11.01.2019 - 10:36

[…] Как переключаться между несколькими версиями PHP в Ubuntu […]

Reply

Leave a Comment