Wechseln Sie von PHP 7.2 auf 7.1 unter Ubuntu 16.04, Apache

21

Ich muss PHP auf einer meiner VMs von 7.2 auf 7.1 unter Ubuntu 16.0.4 downgraden. Als ich das letzte Mal versuchte, nur PHP zu entfernen und durch eine andere Version zu ersetzen, hatte ich alle möglichen Probleme mit Apache und MySQL. Gibt es eine schnelle Möglichkeit, ein Downgrade von PHP von 7.2 auf 7.1 durchzuführen, ohne Apache (die aktuellste Version zum Zeitpunkt dieses Schreibens) und alles andere auf dem Server neu installieren und konfigurieren zu müssen?

Ich muss ein Downgrade durchführen, weil ich schlechte Informationen von einem Softwareanbieter erhalten habe, der behauptet, dass seine Anwendung unter PHP 7.2 ausgeführt wird. Es stellt sich heraus, dass es 7.1 haben muss.

Ich habe versucht, Informationen darüber zu finden, wie ein Downgrade von 7.2 auf 7.1 durchgeführt werden kann, erhalte aber nur Upgrade-Ergebnisse.

Danke für deine Hilfe.

Pegues
quelle
1
Wie sind Sie zu PHP 7.2 gekommen?
Michael Hampton
Update: Ich habe sudo add-apt-repository ppa:ondrej/phpPHP 7.2.x zu installieren
Pegues

Antworten:

35

Unten ist eine Beschreibung dessen, was ich getan habe. Ich hoffe, diese Informationen können jemand anderem helfen:

Ich habe PHP 7.1 zusammen mit PHP 7.2 installiert. Ich habe auch die meisten benötigten Erweiterungen für PHP 7.1 installiert. Ich tat dann a2dismod php7.2und a2enmod php7.1damit ich auf PHP 7.1 umsteigen konnte, während 7.2 noch auf dem Server installiert war. Die meisten meiner Websites funktionieren nach dem Wechsel. Die einzige Seite, die nicht funktioniert, ist eine Joomla-Seite. Die vollständige Liste der Befehle, die ich ausgeführt habe, finden Sie unten:

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
quelle
1
Ich bin auch in der gleichen Situation, aber auch nach dem Deaktivieren von 7.2-Modul, wenn ich php -vtippe, zeigt es immer noch php7.2. Irgendeine Idee?
khichar.anil
1
Ich habe auch das gleiche. Obwohl PHP 7.1 derzeit auf meinem Server aktiviert ist, php -vzeigt die Eingabe PHP 7.2.2. Wenn ich jedoch phpinfo()in meinen Browser lade , wird die richtige Version angezeigt 7.1.13. Haben Sie versucht, eine Datei mit zu überprüfen phpinfo()?
Pegues
Siehe meinen Kommentar unten. Es wird den Standard-PHP-Pfad ändern.
khichar.anil
1
Ein hilfreicher Artikel tecadmin.net/switch-between-multiple-php-version-on-ubuntu
CrandellWS
@CrandellWS danke für die Freigabe. Auf jeden Fall hilfreiche Informationen.
Pegues
19

für die Anzeige aktivierte PHP-Version im Terminal von php -v. Wir müssen die CLI-Version von PHP aktualisieren. Verwenden Sie den folgenden Befehl, um die PHP-CLI-Version zu aktualisieren

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1
Chirag Goti
quelle
Das hat den Trick gemacht!
mistery_girl
12

@pegues: Ihre oben erwähnte Methode hat für Apache gut funktioniert, um die andere Version zu wechseln. Wenn Sie die folgenden Befehle ausführen, wird auch die PHP-Version des Terminals geändert. Eigentlich müssen Sie nur den Symlink auf die gewünschte PHP-Version ändern.

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php
khichar.anil
quelle
1

Das habe ich gemacht:

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

Und um zu bestätigen, dass Sie PHP 7.1 haben, geben Sie den folgenden Befehl ein

php --ini |grep Loaded

es sollte die folgende Antwort zurückgeben

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

Wenn Sie aus irgendeinem Grund laravel verwenden, ändern Sie Ihren fpm.service so, dass er auf die 7.1-Version verweist, und starten Sie ihn dann ebenfalls neu

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart
Miguel Trevino
quelle