Перейдіть з 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: Ваш вищезгаданий метод добре працював, щоб апаш переключив іншу версію. Після виконання наступних команд також зміниться 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.