Come effettuare il downgrade da PHP 5.4 a 5.3


18

Di recente ho aggiornato PHP a 5.4, ma sembra che non riesca a funzionare perché APC non funziona con esso, tuttavia questo non mi ha dato altra scelta che il downgrade a 5.3, come posso fare?

Ho eseguito apt-get remove php5e apt-get purge php5quindi rimosso il repository 5.4 da apt-get quindi eseguito apt-get install php5, si dice che stava installando 5.3, e ho riavviato php-fastcgie php5-fpmma quando lo eseguo php -vdice 5.4.

Come posso effettuare il downgrade da 5.4 a 5.3?

Il mio server esegue Ubuntu 11.04.

Risposte:


11

Declassamento di PHP da 5.4 a 5.3

Nel processo di downgrade di Ubuntu è davvero un casino. Ecco lo script che potresti trovare utile ( rimuove PHP 5.4 e installa PHP 5.3 ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

Dove le versioni disponibili è possibile controllare con il comando: apt-cache showpkg php5

Dopo l'installazione, verificarlo con il comando: php --version

Fai attenzione e non installare altri pacchetti senza la versione del pacchetto specificata (come php5-xcache), altrimenti apt-get sostituirà di nuovo la tua istanza PHP con 5.4!

Per evitare che ciò accada, puoi conservare questi pacchetti.

Tenere i pacchi usando dpkg

Per conservare i pacchetti di dpkg, è possibile eseguire il comando seguente:

echo "php5 hold" | sudo dpkg --set-selections

Per contenere tutti i pacchetti PHP, esegui il seguente comando:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

Il seguente comando ti mostrerà lo stato di possesso dei tuoi pacchetti php:

sudo dpkg --get-selections | grep ^php

Tenere i pacchetti usando aptitude

Puoi anche conservare i pacchetti usando aptitude, ad esempio:

sudo aptitude hold php5

unhold:

sudo aptitude unhold php5

3
In Ubuntu 13.x 5.3.10-1ubuntu3.4 non esiste più.
Kenorb,

Come farebbe per annullare ciò che è nella tua risposta?
tolgap,

Vuoi dire tornare a PHP 5.4 o recuperare i file di configurazione? I file di configurazione devono essere mantenuti così come sono (nessuna configurazione personale deve essere rimossa). Se desideri tornare a PHP 5.4, annulla per sbloccare i pacchetti in tuo possesso e reinstallare di nuovo php5, ad es. sudo apt-get install php5Con reinstallazione o rimozione / installazione.
Kenorb,

4

Prima esegui apt-cache showpkg php5. Lì vedrai la versione e altre informazioni sul pacchetto php5.

Per installare una versione specifica eseguita apt-get install <package name>=<version>

Nel mio Ubuntu 11.10 lo sarebbe apt-get install php5=5.3.6-13ubuntu3.6


6
Cosa succede se apt-cache showpkg php5non viene più visualizzato 5.3.x?
Kenorb,

2

Ho avuto un problema simile.

Ho rimosso i repository.

Devi ricordare che php -vesegue l'eseguibile nel php-clipacchetto, quindi devi rimuovere anche quello.

Quindi ho fatto quanto segue per tornare a 5.3.10:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

Ora questo dovrebbe mostrare la versione desiderata:

php -v

Installa l'ultimo 5.6 per me.
JohnnyQ,


1

dai passaggi che hai descritto, hai dimenticato di apt-get update dopo aver eliminato php5.4 e aver rimosso il repository php5.4.

supponendo che non si abbia più il repository in sorgenti apt, se si esegue:

apt-get remove --purge php5 && apt-get update && apt-get install php5

dovresti tornare su 5.3


In Ubuntu 13.x, per impostazione predefinita php5 punta a 5.4.x
kenorb il
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.