18 votes

Comment rétrograder de PHP 5.4 à 5.3 ?

J'ai récemment mis à jour PHP vers la version 5.4, mais il semble qu'il ne fonctionne pas avec APC. Je n'ai pas d'autre choix que de rétrograder vers la version 5.3, comment puis-je faire ?

J'ai exécuté apt-get remove php5 y apt-get purge php5 puis j'ai supprimé le dépôt 5.4 d'apt-get et j'ai exécuté apt-get install php5 il a dit qu'il installait la version 5.3, et j'ai redémarré. php-fastcgi y php5-fpm mais quand j'exécute php -v il est écrit 5.4.

Comment puis-je rétrograder de la 5.4 à la 5.3 ?

Mon serveur fonctionne sous Ubuntu 11.04.

11voto

kenorb Points 8840

Rétrogradation de PHP 5.4 à 5.3

Dans Ubuntu, le processus de rétrogradation est vraiment désordonné. Voici le script qui pourrait vous être utile ( il supprime PHP 5.4 et installe 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

Où les versions disponibles peuvent être vérifiées par commande : apt-cache showpkg php5

Après l'installation, vérifiez-la par commande : php --version

Veuillez faire attention et n'installez pas d'autres paquets sans spécifier la version du paquet (comme php5-xcache), sinon apt-get remplacera votre instance PHP par la 5.4 à nouveau !

Pour éviter que cela ne se produise, vous pouvez conserver ces paquets.

Maintien des paquets à l'aide de dpkg

Pour retenir les paquets par dpkg, vous pouvez exécuter la commande suivante :

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

Pour contenir tous les paquets PHP, exécutez la commande suivante :

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

La commande suivante vous montrera l'état de vos paquets php :

sudo dpkg --get-selections | grep ^php

Maintenir les paquets en utilisant aptitude

Vous pouvez également conserver les paquets en utilisant aptitude, par exemple :

sudo aptitude hold php5

Dévoiler :

sudo aptitude unhold php5

4voto

Anders Abel Points 481

Première exécution apt-cache showpkg php5 . Vous y verrez la version et d'autres informations sur le paquet php5.

Pour installer une version spécifique, exécutez apt-get install <package name>=<version>

Dans mon Ubuntu 11.10, il s'agirait de apt-get install php5=5.3.6-13ubuntu3.6

2voto

Zian Choy Points 1510

Peut-être que ce guide vous aidera : Comment rétrograder un paquet dans Ubuntu ?

Ainsi, pour télécharger et installer n'importe quel paquet de n'importe quelle version disponible, vous devez procéder ainsi :

sudo apt-get install Package=Version

2voto

Nicolas Irisarri Points 619

J'ai eu un problème similaire.

J'ai supprimé les dépôts.

Vous devez vous rappeler que php -v exécute l'exécutable dans le répertoire php-cli vous devez donc le supprimer également.

J'ai donc fait ce qui suit pour revenir à la version 5.3.10 :

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

Maintenant, cela devrait montrer la version désirée :

php -v

1voto

Sergio del Amo Points 825

D'après les étapes que vous avez décrites, vous avez oublié de mettre à jour apt-get après avoir purgé php5.4 et supprimé le repo de php5.4.

en supposant que vous n'avez plus le repo dans les sources apt, si vous exécutez :

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

vous devriez être de retour sur 5.3

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X