Comment rétrograder de PHP 5.4 à 5.3


18

Récemment, j'ai mis à niveau PHP vers la version 5.4, mais il semble que j'échoue car APC ne fonctionne pas avec cela, mais cela ne m'a pas permis de revenir à la version 5.3, comment faire?

J'exécuté apt-get remove php5et apt-get purge php5puis j'ai enlevé le repo 5.4 de apt-get alors exécuté apt-get install php5, il dit qu'il installait 5.3, et je remis en marche php-fastcgiet , php5-fpmmais quand je lance php -vil dit 5.4.

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

Mon serveur exécute Ubuntu 11.04.

Réponses:


11

Rétrograder PHP 5.4 à 5.3

Dans le processus de rétrogradation d'Ubuntu, c'est vraiment un gâchis. Voici le script que vous pourriez trouver 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, vous pouvez vérifier par commande: apt-cache showpkg php5

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

Soyez prudent et n'installez aucun autre paquet sans que la version du paquet ne soit spécifiée (comme php5-xcache), sinon apt-get remplacera à nouveau votre instance PHP par 5.4!

Pour éviter cela, vous pouvez conserver ces packages.

Conservation des packages à l'aide de dpkg

Pour contenir des packages par dpkg, vous pouvez exécuter la commande suivante:

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

Pour contenir tous les packages 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 conservation de vos packages php:

sudo dpkg --get-selections | grep ^php

Tenir des packages en utilisant aptitude

Vous pouvez également contenir des packages en utilisant aptitude, par exemple:

sudo aptitude hold php5

Détenir:

sudo aptitude unhold php5

3
Dans Ubuntu 13.x 5.3.10-1ubuntu3.4 n'existe plus.
kenorb

Comment procéder pour annuler ce qui se trouve dans votre réponse?
tolgap

Vous voulez dire revenir à PHP 5.4 ou récupérer des fichiers de configuration? Les fichiers de configuration doivent être conservés tels quels (aucune configuration personnelle ne doit être supprimée). Si vous souhaitez revenir à PHP 5.4, annulez par pour supprimer les paquets que vous détenez et réinstallez php5, par exemple sudo apt-get install php5avec réinstaller ou supprimer / installer.
kenorb

4

Exécutez d'abord 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, ce serait apt-get install php5=5.3.6-13ubuntu3.6


6
Et si apt-cache showpkg php5ne s'affiche plus 5.3.x?
kenorb

2

J'avais un problème similaire.

J'ai supprimé les référentiels.

Vous devez vous rappeler que php -vexécute l'exécutable dans le php-clipackage, vous devez donc également supprimer cela.

J'ai donc fait ce qui suit pour revenir à 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 souhaitée:

php -v

Il installe la dernière version 5.6 pour moi.
JohnnyQ


1

des étapes que vous avez décrites, vous avez oublié de mettre à jour apt-get après avoir purgé php5.4 et supprimé le dépôt php5.4.

en supposant que vous n'avez plus le dépôt 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


Dans Ubuntu 13.x, par défaut, php5 pointe vers 5.4.x
kenorb
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.