Passa da PHP 7.2 a 7.1 su Ubuntu 16.04, Apache


21

Devo eseguire il downgrade di PHP su una delle mie macchine virtuali da 7.2 a 7.1 su Ubuntu 16.0.4. L'ultima volta che ho provato a rimuovere solo PHP e sostituirlo con una versione diversa, ho avuto tutti i tipi di problemi con Apache e MySQL. Esiste un modo rapido per eseguire il downgrade di PHP da 7.2 a 7.1 senza dover reinstallare e configurare completamente Apache (ultima versione al momento della stesura) e tutto il resto sul server?

Devo effettuare il downgrade a causa di informazioni errate ricevute da un fornitore di software che afferma che la sua applicazione viene eseguita su PHP 7.2. Si scopre che deve avere 7.1.

Ho provato a cercare informazioni su come eseguire il downgrade da 7.2 a 7.1, ma ho ottenuto solo risultati di "upgrade".

Grazie per l'aiuto.


1
Come hai iniziato a utilizzare PHP 7.2?
Michael Hampton

Aggiornamento: sudo add-apt-repository ppa:ondrej/phpinstallavo PHP 7.2.x
Pegues il

Risposte:


35

Di seguito è una descrizione di ciò che ho fatto. Spero che queste informazioni possano aiutare qualcun altro:

Ho installato PHP 7.1 insieme a PHP 7.2. Ho anche installato la maggior parte delle estensioni necessarie per PHP 7.1. Allora l'ho fatto a2dismod php7.2e in a2enmod php7.1modo da poter passare a PHP 7.1 mantenendo 7.2 ancora installato sul server. La maggior parte dei miei siti funziona dopo aver effettuato il passaggio. L'unico sito che sembra non funzionare è un sito Joomla. L'elenco completo dei comandi che ho eseguito sono i seguenti:

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
Sono anche nella stessa situazione, ma anche dopo aver disabilitato il modulo 7.2, se php -vdigito, mostra ancora php7.2. Qualche idea?
khichar.anil,

1
Anch'io ho la stessa cosa. Anche se PHP 7.1 è attualmente abilitato sul mio server, la digitazione php -vmostra PHP 7.2.2. Tuttavia, se carico phpinfo()nel mio browser, mostrerà la versione corretta, 7.1.13. Hai provato a rivedere un file con phpinfo()?
Pegues,

Vedi il mio commento qui sotto. Cambierà il percorso php predefinito.
khichar.anil,


@CrandellWS grazie per la condivisione. Informazioni sicuramente utili.
Pegues,

19

per la versione php abilitata per la visualizzazione nel terminale di php -v. dobbiamo impostare la versione di php di update cli. utilizzare il comando seguente per aggiornare la versione di php cli

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1

Questo ha fatto il trucco!
mistery_girl,

12

@pegues: il tuo metodo sopra menzionato ha funzionato bene per apache per cambiare la versione diversa. Eseguendo i seguenti comandi cambierà anche il php dal terminale. In realtà devi solo cambiare il link simbolico alla versione PHP desiderata.

sudo rm /usr/bin/php

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

1

Questo è quello che ho fatto:

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

E per confermare che hai il php 7.1 digita il seguente comando

php --ini |grep Loaded

dovrebbe restituire la seguente risposta

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

se stai usando laravel per qualche motivo, modifica il tuo fpm.service in modo che punti alla versione 7.1 e poi riavvia pure

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.