Мне нужно понизить версию PHP на одной из моих виртуальных машин с 7.2 до 7.1 в Ubuntu 16.0.4. В последний раз, когда я пытался удалить только PHP и заменить его другой версией, у меня были всевозможные проблемы с Apache и MySQL. Есть ли быстрый способ понизить версию PHP с 7.2 до 7.1 без необходимости полностью переустанавливать и настраивать Apache (последняя версия на момент написания этой статьи) и все остальное на сервере?
Мне пришлось перейти на более раннюю версию из-за неверной информации, которую я получил от поставщика программного обеспечения, который утверждает, что их приложение работает на PHP 7.2. Оказывается, у него должен быть 7.1.
Я попытался найти информацию о том, как перейти с 7.2 на 7.1, но получил только результаты «обновления».
Спасибо за помощь.
Ниже описание того, что я сделал. Надеюсь, эта информация поможет кому-то еще:
Я установил PHP 7.1 вместе с PHP 7.2. Я также установил большинство необходимых расширений для PHP 7.1. Я тогда сделал a2dismod php7.2
и a2enmod php7.1
так что я мог переключиться на PHP 7.1, оставив 7.2 на сервере. Большинство моих сайтов работают после переключения. Единственный сайт, который, похоже, не работает, - это сайт Joomla. Полный список команд, которые я выполнил, приведен ниже:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.1
sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm
sudo a2dismod php7.2
sudo a2enmod php7.1
sudo service apache2 restart
для отображения включенной версии php в терминале php -v
. нам нужно установить обновление cli версии php. используйте команду ниже для обновления версии php cli
// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1
@pegues: Ваш вышеупомянутый метод хорошо работал для apache, чтобы переключить другую версию. Выполнение следующих команд также изменит php из терминала. На самом деле вам просто нужно изменить символическую ссылку на желаемую версию PHP.
sudo rm /usr/bin/php
sudo ln -s /usr/bin/php7.1 /usr/bin/php
Вот что я сделал:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.1
sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm
sudo rm /usr/bin/php
sudo ln -s /usr/bin/php7.1 /usr/bin/php
И чтобы подтвердить, что у вас есть php 7.1, введите следующую команду
php --ini |grep Loaded
он должен вернуть следующий ответ
Loaded Configuration File: /etc/php/7.1/cli/php.ini
если вы по какой-то причине используете laravel, измените свой fpm.service, чтобы он указывал на версию 7.1, а затем перезапустите его
sudo systemctl restart php7.1-fpm.service
sudo service nginx restart