Переход с PHP 7.2 на 7.1 в Ubuntu 16.04, Apache


21

Мне нужно понизить 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, но получить только результаты «обновления».

Спасибо за помощь.


1
Как вы получили PHP 7.2 для начала?
Майкл Хэмптон

Обновление: я использовал sudo add-apt-repository ppa:ondrej/phpдля установки PHP 7.2.x
Pegues

Ответы:


35

Ниже приведено описание того, что я сделал. Я надеюсь, что эта информация может помочь кому-то еще:

Я установил 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

1
Я тоже в той же ситуации, но даже после отключения модуля 7.2, если я php -vнаберу, он все равно показывает php7.2. Есть идеи?
khichar.anil

1
У меня тоже есть то же самое. Хотя на моем сервере в настоящее время включен PHP 7.1, при наборе текста php -vотображается PHP 7.2.2. Однако, если я загружу phpinfo()в свой браузер, он покажет правильную версию 7.1.13. Вы пытались просмотреть файл с phpinfo()?
Pegues

Смотрите мой комментарий ниже. Это изменит путь php по умолчанию.
khichar.anil


@CrandellWS спасибо за акцию. Конечно полезная информация.
Pegues

19

для отображения включена версия 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

Это сделал трюк!
mistery_girl

12

@pegues: Ваш вышеупомянутый метод работал хорошо для apache, чтобы переключить другую версию. Выполнение следующих команд также изменит php с терминала. На самом деле вам просто нужно изменить символическую ссылку на нужную версию PHP.

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

1

Вот что я сделал:

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.