Przełącz się z PHP 7.2 na 7.1 na Ubuntu 16.04, Apache

21

Muszę obniżyć PHP na jednej z moich maszyn wirtualnych z 7.2 do 7.1 na Ubuntu 16.0.4. Ostatnim razem, gdy próbowałem usunąć tylko PHP i zastąpić je inną wersją, miałem wiele problemów z Apache i MySQL. Czy istnieje szybki sposób na obniżenie PHP z wersji 7.2 do wersji 7.1 bez konieczności pełnej ponownej instalacji i konfiguracji Apache (najnowsza wersja tego pisma) i wszystkiego innego na serwerze?

Muszę obniżyć wersję z powodu złych informacji otrzymanych od dostawcy oprogramowania, który twierdzi, że ich aplikacja działa w PHP 7.2. Okazuje się, że musi mieć 7.1.

Próbowałem znaleźć informacje o tym, jak obniżyć wersję z 7.2 do 7.1, ale dostaję tylko wyniki „upgrade”.

Dziękuję za pomoc

Pegues
źródło
1
Jak zacząłeś używać PHP 7.2?
Michael Hampton
Aktualizacja: sudo add-apt-repository ppa:ondrej/phpinstalowałem PHP
7.2.x

Odpowiedzi:

35

Poniżej znajduje się opis tego, co zrobiłem. Mam nadzieję, że te informacje mogą pomóc komuś innemu:

Zainstalowałem PHP 7.1 wraz z PHP 7.2. Zainstalowałem także większość potrzebnych rozszerzeń dla PHP 7.1. Zrobiłem to a2dismod php7.2i a2enmod php7.1mogłem przejść na PHP 7.1, utrzymując 7.2 nadal zainstalowany na serwerze. Większość moich witryn działa po dokonaniu zmiany. Jedyną stroną, która wydaje się nie działać, jest witryna Joomla. Pełna lista uruchomionych przeze mnie poleceń znajduje się poniżej:

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
Pegues
źródło
1
Jestem również w tej samej sytuacji, ale nawet po wyłączeniu modułu 7.2, jeśli piszę php -v, nadal pokazuje php7.2. Dowolny pomysł?
khichar.anil
1
Ja też mam to samo. Mimo że PHP 7.1 jest obecnie włączone na moim serwerze, pisanie php -vpokazuje PHP 7.2.2. Jednakże, jeśli załadować phpinfo()w przeglądarce, pokaże właściwą wersję 7.1.13. Czy próbowałeś przejrzeć plik phpinfo()?
Pegues,
Zobacz mój komentarz poniżej. Zmieni domyślną ścieżkę php.
khichar.anil
@CrandellWS dzięki za udział. Z pewnością pomocne informacje.
Pegues
19

dla wersji PHP z włączoną opcją wyświetlania w terminalu przez php -v. musimy ustawić aktualizację cli w wersji php. użyj poniższego polecenia, aby zaktualizować wersję php cli

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1
Chirag Goti
źródło
To załatwiło sprawę!
mistery_girl
12

@pegues: Twoja wyżej wspomniana metoda działała dobrze dla apache do przełączania różnych wersji. Uruchomienie następujących poleceń zmieni również php z terminala. W rzeczywistości wystarczy zmienić dowiązanie symboliczne do żądanej wersji PHP.

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php
khichar.anil
źródło
1

Oto co zrobiłem:

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

Aby potwierdzić, że masz php 7.1, wpisz następującą komendę

php --ini |grep Loaded

powinien zwrócić następującą odpowiedź

Loaded Configuration File:         /etc/php/7.1/cli/php.ini

jeśli używasz laravel z jakiegoś powodu, zmodyfikuj swoją fpm.service, aby wskazywała na wersję 7.1, a następnie zrestartuj ją

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart
Miguel Trevino
źródło