Переключить версии php на командную строку ubuntu 16.04

Я установил php 5.6 и php 7.1 на мою Ubuntu 16.04

Я знаю, с Apache в качестве моего веб-сервера, я могу сделать

a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7

Когда я отключаю php7.1 в модулях Apache и включаю php 5.6, Apache распознает это изменение и, как и ожидалось, использует интерпретатор php 5.6.

Но когда я запускаю внутренний php веб-сервер из командной строки:

php -S localhost:8888

php обрабатывает запросы, используя php 7, как мне переключиться между php 6.6 и php 7.1 в командной строке?

Ответ 1

Интерактивный режим переключения

sudo update-alternatives --config php

Ручное переключение

Из PHP 5.6 => PHP 7.1

В вашей системе установлен PHP 5.6 по умолчанию, и вам нужно переключиться на PHP 7.1.

Apache:

$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
$ sudo service apache2 restart

Командная строка:

$ sudo update-alternatives --set php /usr/bin/php7.1

Из PHP 7.1 => PHP 5.6

В вашей системе установлен PHP 7.1 по умолчанию, и вам нужно переключиться на PHP 5.6.

Apache:

$ sudo a2dismod php7.1
$ sudo a2enmod php5.6
$ sudo service apache2 restart

Командная строка:

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

Источник

Ответ 2

введите это в свою оболочку

$ sudo update-alternatives --config php

и это то, что вы получите

There are 4 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php7.2   72        auto mode
  1            /usr/bin/php5.6   56        manual mode
  2            /usr/bin/php7.0   70        manual mode
  3            /usr/bin/php7.1   71        manual mode
  4            /usr/bin/php7.2   72        manual mode
Press <enter> to keep the current choice[*], or type selection number:

Выберите подходящую версию

Ответ 3

Я думаю, вы должны попробовать это

От php5.6 до php7.1

sudo a2dismod php5.6
sudo a2enmod php7.1
sudo service apache2 restart

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

От php7.1 до php5.6

sudo a2dismod php7.1
sudo a2enmod php5.6
sudo service apache2 restart

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

Ответ 4

Чтобы просмотреть все доступные версии и выбрать из них:

sudo update-alternatives --config php

Или сделать вручную

sudo a2dismod php7.1 // disable
sudo a2enmod php5.6  // enable

Ответ 5

Я на самом деле не рекомендовал бы использовать a2enmod для php 5 или 7. Я бы использовал update-alternatives. Вы можете сделать sudo update-alternatives --config php чтобы указать, какую общесистемную версию PHP вы хотите использовать. Это делает ваши версии командной строки и apache одинаковыми. Вы можете прочитать больше об update-alternatives на странице руководства.

Ответ 6

Вы можете создать скрипт для переключения между версиями: sudo nano switch_php затем введите:

#!/bin/sh
#!/bin/bash
echo "Switching to PHP$1..."
case $1 in
    "7")
        sudo a2dismod php5.6
        sudo a2enmod php7.0
        sudo service apache2 restart
        sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php;;
    "5.6")
        sudo a2dismod php7.0
        sudo a2enmod php5.6
        sudo service apache2 restart
        sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php;;
esac
echo "Current version: $( php -v | head -n 1 | cut -c-7 )"

выйдите и сохраните, чтобы сделать его исполняемым: sudo chmod +x switch_php

Чтобы выполнить скрипт, просто наберите ./switch_php [VERSION_NUMBER] где параметр равен 7 или 5.6

Теперь вы можете легко переключаться с PHP7 на PHP 5.6!

Ответ 7

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

Например

Я хочу переключить PHP Version с 7.1 на 7.2 мы можем использовать ниже команды

sudo a2dismod php7.1 &&  sudo update-alternatives --set php /usr/bin/php7.2 && sudo a2enmod php7.2 && sudo service apache2 restart

a2dismod используется для отключения текущей версии php, а a2enmod используется для включения версии

Ответ 8

Введите заданную команду в свой терминал.

Отключить выбранную версию PHP...

    • sudo a2dismod php5
    • sudo service apache2 restart
  • Для включения другой версии PHP....

    • sudo a2enmod php5.6
    • sudo service apache2 restart

Он обновит версию Php, то же самое, если вы хотите понизить версию, вы можете увидеть ее через PHP_INFO();

Ответ 9

Переключение с PHP 5.6 на PHP 7.2 с помощью:

sudo a2dismod php5.6 && sudo a2enmod php7.2 && sudo service apache2 restart

Переключение с PHP 7.2 на PHP 5.6 с помощью:

sudo a2dismod php7.2 && sudo a2enmod php5.6 && sudo service apache2 restart

Ответ 10

Вы можете использовать эти сценарии PHP Switch с открытым исходным кодом, которые были разработаны специально для использования в Ubuntu 16.04 LTS.

https://github.com/rapidwebltd/php-switch-scripts

Существует скрипт setup.sh который устанавливает все необходимые зависимости для PHP 5.6, 7.0, 7.1 и 7.2. После этого вы можете просто запустить один из следующих сценариев переключения, чтобы изменить версию CLI PHP и модуля Apache 2.

./switch-to-php-5.6.sh
./switch-to-php-7.0.sh
./switch-to-php-7.1.sh
./switch-to-php-7.2.sh

Ответ 11

Из PHP 5.6 => PHP 7.1

$ sudo a2dismod php5.6
$ sudo a2enmod php7.1

для старых версий Linux

 $ sudo service apache2 restart

для более свежей версии

$ systemctl restart apache2

Ответ 12

Вы можете использовать приведенный ниже скрипт для простого переключения между версиями PHP. Я также включил конфигурацию phpize.

https://github.com/anilkumararumulla/switch-php-version

Скачайте файл скрипта и запустите

sh switch.sh

Ответ 13

При установке laravel в Ubuntu 18.04, по умолчанию выбрана установка PHP 7.3.0RC3, но laravel и symfony не будут правильно устанавливать жалобы на пропуски php-xml и php-zip, даже если они установлены. Вам нужно переключиться на php 7.1, используя инструкции выше, или,

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

теперь, запустив новый блог laravel, буду работать правильно

Ответ 14

Он используется для изменения доступных версий PHP в машине.

'sudo a2enmod php7.2

sudo a2dismod php5.6

альтернативы обновления sudo --set php/usr/bin/php7.2

sudo systemctl перезапустите apache2 '

при использовании сервера Xammp вы должны перезапустить XAMPP

Ответ 15

мне нужно иметь 2 отдельные папки в www для одновременной работы 2 версий PHP? потому что на самом деле я не могу запустить Drupal 6 с PHP7 (логика), но когда я меняю версию PHP на 5.6, я все равно получаю ошибку 500. https://tecadmin.net/install-multiple-php-version-apache-ubuntu/

Ответ 16

Возможно, в вашей системе установлена старая версия PHP, такая как PHP 5.6, и вы также установили PHP 7.2, чтобы на вашем компьютере было несколько PHP. Существуют некоторые приложения, которые были разработаны, когда более ранняя версия PHP 5.6 была последней, они все еще работают, и вы работаете над этими приложениями. Возможно, вы работаете над Laravel одновременно, но Laravel требует PHP 7+ для начала работы. Получаете картину?

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

Переключиться с PHP 5.6 => PHP 7.2

Apache: - sudo a2dismod php5.6 sudo a2enmod php7.2 перезапуск службы sudo apache2

Командная строка: -

sudo update-alternatives --set php /usr/bin/php7.2
sudo update-alternatives --set phar /usr/bin/phar7.2
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2
sudo update-alternatives --set phpize /usr/bin/phpize7.2
sudo update-alternatives --set php-config /usr/bin/php-config7.2

И наоборот, переход с PHP 7.2 => PHP 5.6

Apache: -

sudo a2dismod php7.2
sudo a2enmod php5.6
sudo service apache2 restart

Командная строка: -

sudo update-alternatives --set php /usr/bin/php5.6
sudo update-alternatives --set phar /usr/bin/phar5.6
sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6
sudo update-alternatives --set phpize /usr/bin/phpize5.6
sudo update-alternatives --set php-config /usr/bin/php-config5.6

Источник: Как мне установить PHP на мой компьютер?