Переключить версии 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...
Он обновит версию 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 на мой компьютер?