Linux переключить версию php

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!

Читайте также:  Linux delete all but one folder

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 на Ubuntu 18.04.3 LTS

В данной статье мы установим несколько версий PHP на наш сервер Ubuntu 18.04.3 LTS и рассмотрим команды для переключения между версиями.

Начнем с обновления пакетов:

sudo apt-get update sudo apt-get upgrade

Установка версии PHP, которая идет по умолчанию

 PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

В процессе установки также были поставлены следующие пакеты:

Пакет Описание
php7.2 server-side, HTML-embedded scripting language (metapackage)
php7.2-cli command-line interpreter for the PHP scripting language
php7.2-common documentation, examples and common module for PHP
php7.2-json JSON module for PHP
php7.2-opcache Zend OpCache module for PHP
php7.2-readline readline module for PHP

Установим наиболее распространенные модули для PHP :

sudo apt-get install php-pear php7.2-dev php7.2-fpm php7.2-curl php7.2-gd php7.2-mbstring php7.2-mysql php7.2-xml php7.2-zip libapache2-mod-php7.2
Пакет Описание
libapache2-mod-php7.2 server-side, HTML-embedded scripting language (Apache 2 module)
php-pear PEAR Base System
php7.2-curl CURL module for PHP
php7.2-dev Files for PHP7.2 module development
php7.2-fpm server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd GD module for PHP
php7.2-mbstring MBSTRING module for PHP
php7.2-mysql MySQL module for PHP
php7.2-xml DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-zip Zip module for PHP
Читайте также:  Manjaro linux install deb

Посмотреть все установленные PHP пакеты можно командой:

Установка другой версии PHP

Установим PHP 7.3 , для этого добавим сторонний репозиторий Ondřej Surý , установив пакет:

sudo apt-get install software-properties-common

Теперь добавим репозиторий:

sudo add-apt-repository ppa:ondrej/php

После того, как, мы добавили репозиторий, перейдем к установке PHP 7.3 :

sudo apt-get install php7.3

Были поставлены следующие пакеты:

Пакет Описание
libapache2-mod-php7.3 server-side, HTML-embedded scripting language (Apache 2 module)
php7.3 server-side, HTML-embedded scripting language (metapackage)
php7.3-cli command-line interpreter for the PHP scripting language
php7.3-common documentation, examples and common module for PHP
php7.3-json JSON module for PHP
php7.3-opcache Zend OpCache module for PHP
php7.3-readline readline module for PHP

Установим дополнительные модули для PHP :

sudo apt-get install php7.3-dev php7.3-fpm php7.3-curl php7.3-gd php7.3-mbstring php7.3-mysql php7.3-xml php7.3-zip
 PHP 7.3.10-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Oct 8 2019 05:33:38) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.10, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.10-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Таким образом в системе активирована версия PHP 7.3 .

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

Переключение происходит следующей командой:

sudo update-alternatives --set php /usr/bin/php7.2

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

sudo ln -f -s /usr/bin/php7.3 /etc/alternatives/php

Источник

Как переключаться между несколькими версиями 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. Это не так сложно, как вы думаете.

Читайте также:  Http proxy server linux

Полное обучение 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

Источник

Оцените статью
Adblock
detector