Altro
Come posso fare il downgrade da PHP 7 a PHP 5.6 su Ubuntu 16.04?
Sto cercando di riportare la mia versione di PHP alla 5.6 dalla 7 e anche se ho rimosso PHP 7 e poi ho installato PHP 5.6 sembra che stia ancora eseguendo la versione 7.
C'è un metodo semplice per spostarsi attraverso le versioni di PHP dove apache, phpMyAdmin e co sono configurati in modo appropriato?
Un modo semplice per cambiare la versione corrente di PHP al volo e anche sito per sito sarebbe fantastico.
168
3
Aggiornamento Oggi ho avuto di nuovo un problema con PHP 7 in esecuzione nonostante abbia disabilitato il modulo apache
php7.0
:phpinfo
mostrava php 7 usando fastCGI ...... Quindi se dopo aver seguito le istruzioni qui sotto ti trovi di fronte a questa situazione, potresti aver bisogno di disabilitare il modulo apache
proxy_fcgi
:1. Re-installare PHP 5.6
Quello che ha funzionato per me è stata questa guida: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
In realtà non è necessario rimuovere
php7.0
, puoi installare php5.6 insieme (anche perché avrai problemi di dipendenza con il pacchettophpmyadmin
che richiede php7.0)Assumendo che
libapache2-mod-php
sia un modo adatto a te per abilitare PHP in Apache, puoi procedere in questo modo:2. Cambia versione di PHP:
Da php5.6 a php7.0:
Apache:
CLI:
Da php7.0 a php5.6:
Apache:
CLI:
La tua domanda manca di dettagli importanti, quindi ti risponderò in modo più ampio.
Supponendo che tu stia usando dei pacchetti, ci sono alcuni dettagli importanti:
Apache2 può essere configurato per usare sia
apache2
SAPI usando il pacchettolibapache2-mod-php7.0
o FPM SAPI usandophp7.0-fpm
conmod_proxy_fcgi
.Ubuntu 16.04 ha solo PHP 7.0 nei repository, puoi usare
ppa:ondrej/php
per aggiungere il supporto per PHP 5.6 usando uno schema di denominazione simile (per esempiolibapache2-mod-php5.6
ophp5.6-fpm
).Se stai usando Apache2 SAPI (
libapache2-mod-php*
), devi disabilitare PHP 7.0 dopo aver installatolibapache2-mod-php5.6
eseguendoa2dismod php7.0
e abilitare PHP 5.6 eseguendoa2enmod php5.6
.Se stai usando FPM SAPI (
php*-fpm
) allora devi cambiare il socket unix di FPM da/run/php/php7.0-fpm.sock
a/run/php/php5.6-fpm.sock
.Ricorda che per i moduli in bundle con PHP (come MySQL) la convenzione di denominazione è
phpX.Y-
(ad esempiophp7.0-mysql
ephp5.6-mysql
), ma per i moduli PECL esterni (ad esempio APCu, mongodb, ...) è semplicementephp-
(ad esempiophp-apcu
,php-mongodb
). Raccomando di eseguireapt-cache search php
sul tuo sistema per cercare il nome corretto del pacchetto prima di fare domande su Internet.Penso che dovresti rimuovere i tuoi pacchetti php e installare php5.6. Puoi procedere come segue:
Puoi poi controllare la versione del tuo php per essere sicuro. Si fa come si vede qui sotto: