- How to change PHP version in Ubuntu 20.04 console?
- 6 Answers 6
- Установка разных версий PHP на Linux Ubuntu
- Установка PHP
- Установка базовой версии
- Установка определенной версии
- Выбор версии PHP по умолчанию
- Установка расширений
- Настройка PHP
- Установка разных версий PHP на Linux Debian
- Установка PHP
- Установка базовой версии
- Установка определенной версии
- Выбор версии PHP по умолчанию
- Установка расширений
- Настройка PHP
- Как переключаться между несколькими версиями PHP в Ubuntu
- Переключение между несколькими версиями PHP
- Переключитесь с PHP7.x на PHP5.x
- Переключитесь с PHP5.x на PHP7.x
How to change PHP version in Ubuntu 20.04 console?
How can I change the PHP version used in console on Ubuntu 20.04? I have all versions in the /etc/php folder, but I don’t know where the configuration for the command line version is.
6 Answers 6
You can do this with update-alternatives . If you would like to do this interactively, you can do this:
sudo update-alternatives --config php
If you like to specifically choose the PHP version (via an alias or whatnot), you can do this:
sudo update-alternatives --set php /usr/bin/php7.4
Of course, be sure to change php7.4 to the actual version you want to switch between.
Ok but it shows me this message: There is only one alternative in link group php (providing /usr/bin/php): /usr/bin/php7.2 Nothing to configure . I can see the usr/bin folder and theare really only php 7.2. Dont know what need to add there.
Please use following command which will ask you to select a number against your required PHP version
sudo update-alternatives --config php
Then select your choice and press enter.
Ok but it shows me this message: There is only one alternative in link group php (providing /usr/bin/php): /usr/bin/php7.2 Nothing to configure . I can see the usr/bin folder and theare really only php 7.2. Dont know what need to add there.
@Čamo it means you don’t have multiple versions installed. You can install other versions before switch to other version.
Did you install the cli? Do this first:
$ sudo apt install php7.4-cli
After that, you should see it listed under update-alternatives
$ update-alternatives --list php /usr/bin/php7.4 /usr/bin/php8.1
Thank you this answer work great for me, of course now in 2023 I’ve adapt it for PHP 8.2: apt install php8.2-cli And now when I do a «php -v» I get the following answer: PHP 8.2.3 (cli) (built: Feb 14 2023 16:57:30) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.3, Copyright (c) Zend Technologies with Zend OPcache v8.2.3, Copyright (c), by Zend Technologies Thank you!
i just try in Ubuntu20.04 and it works.
// to show the list php installed: sudo update-alternatives —config php
// choose number version that you wanna switch screenshoot switch php version in ubtuntu
alias setphp="sudo update-alternatives --config php;sudo update-alternatives --config phar; update-alternatives --config phar.phar; a2dismod php*.*;systemctl restart apache2"
Put the above alias in ~/.bashrc :
Then just run this command:
a2enmod php # like, a2enmod php7.4
Now you can run the command setphp from your terminal.
There are two methods to switch php versions on the command line ubuntu.
Run each command one by one and input the number of the php version you want to change.
sudo update-alternatives --config php sudo update-alternatives --config phar sudo update-alternatives --config phar.phar sudo service apache2 restart
If you want to change PHP 5.6 to 7.4 just run the below codes.
sudo a2dismod php5.6 sudo a2enmod php7.4 sudo service apache2 restart
If you want to change from PHP 7.4 to 5.6 run the below codes.
sudo a2dismod php7.4 sudo a2enmod php5.6 sudo service apache2 restart
Установка разных версий PHP на Linux Ubuntu
Обновлено: 03.04.2023 Опубликовано: 06.11.2021
В Ubuntu можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий PHP и жонглирования ими.
Установка PHP
В зависимости от необходимой версии PHP и версии Ubuntu, подход к установке может отличаться.
Установка базовой версии
Это самый простой способ. Каждая версия Ubuntu в своем репозитории содержит соответствующую версию PHP.
Посмотреть, какая версия будет установлена из репозитория системы можно командой:
apt search —names-only ‘^php[.0-9]$’
Установка выполняется одной командой:
Установка определенной версии
Если нам необходима версия PHP, которой нет в репозитории, выполняем установку дополнительного — для этого вводим две команды:
apt install software-properties-common
.
FileNotFoundError: [Errno 2] No such file or directory: ‘gpg’
Устанавливаем gnupg-agent:
Теперь можно установить нужную версию интерпретатора:
Выбор версии PHP по умолчанию
Посмотреть текущую версию php, которая работает по умолчанию можно командой:
Сменить версию по умолчанию:
update-alternatives —config php
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
————————————————————
* 0 /usr/bin/php8.0 80 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.0 80 manual mode
* в данном примере используется версия php8 как версия по умолчанию.
Для смены, система предложит нам выбрать версию из списка:
Press to keep the current choice[*], or type selection number: 1
* так мы переключимся на php7.4.
Установка расширений
Расширения устанавливаются с синтаксисом:
Для версии, которая идет по умолчанию в репозитории, установку можно выполнить так:
В остальных случаях обязательно указываем версию:
Настройка PHP
В Ubuntu настройки PHP находятся в разных файлах — для каждой версии и для каждой системы, которая обрабатывает запросы.
Например, для php версии 8.0, которая будет запускаться из командной строки, файл будет:
Установка разных версий PHP на Linux Debian
Опубликовано: 23.03.2023
В Debian можно легко управлять несколькими версиями PHP. Мы рассмотрим процесс установки разных версий пакетов и управления ими.
Установка PHP
Установка базовой версии
Это самый простой способ. Каждая версия Debian в своем репозитории содержит соответствующую версию PHP. Установка выполняется одной командой:
Установка определенной версии
Если нам необходима версия PHP, которой нет в репозитории сисемы, выполняем установку дополнительного — sury.org. Сначала установим следующие пакеты:
- lsb-release — для определения версии релиза операционной системы.
- ca-certificates — набор корневых сертификатов.
- apt-transport-https — дополнение для возможности использовать репозитории по https.
- software-properties-common — утилита для работы с репозиториями.
- gnupg2 — для шифровки и дешифровки цифровых подписей. Нужна для работы с репозиториями.
Установим gpg ключ репозитория sury.org:
wget -qO — https://packages.sury.org/php/apt.gpg | apt-key add —
Создадим конфигурационный файл с настройкой репозитория sury.org:
echo «deb https://packages.sury.org/php/ $(lsb_release -sc) main» | tee /etc/apt/sources.list.d/sury-php.list
Теперь можно установить нужную версию интерпретатора:
Выбор версии PHP по умолчанию
Посмотреть текущую версию php, которая работает по умолчанию можно командой:
Сменить версию по умолчанию:
update-alternatives —config php
Значит у нас установлена всего одна версия PHP.
Мы должны увидеть что-то на подобие:
Selection Path Priority Status
————————————————————
* 0 /usr/bin/php8.1 81 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
* в данном примере используется версия php8 как версия по умолчанию.
Для смены, система предложит нам выбрать версию из списка:
Press to keep the current choice[*], or type selection number: 1
* так мы переключимся на php7.4.
Установка расширений
Расширения устанавливаются с синтаксисом:
Для версии, которая идет по умолчанию в репозитории, установку можно выполнить так:
В остальных случаях обязательно указываем версию:
Настройка PHP
В Ubuntu настройки PHP находятся в разных файлах — для каждой версии и для каждой системы, которая обрабатывает запросы.
Например, для php версии 8.1, которая будет запускаться из командной строки, файл будет:
Как переключаться между несколькими версиями PHP в Ubuntu
Иногда самая последняя версия установленного пакета может работать не так, как вы ожидали.
Приложение может не соответствовать обновленному пакету и поддерживать только определенную старую версию пакета.
В таких случаях вы можете просто отказаться от проблемного пакета до его ранней рабочей версии в кратчайшие сроки
Однако вам не нужно понижать некоторые пакеты.
Мы можем использовать несколько версий одновременно.
Например, скажем, вы тестируете приложение 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:
Установите 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 update-alternatives --set php /usr/bin/php7.2
$ sudo systemctl restart apache2