web-dev-qa-db-fra.com

Comment passer de PHP 5.4 à 5.3

Récemment, j'ai mis à niveau PHP vers la version 5.4, mais cela semble échouer car APC ne fonctionne pas, mais cela ne m'a pas laissé d'autre choix que de revenir à la version 5.3, comment puis-je procéder?

J'ai exécuté apt-get remove php5 et apt-get purge php5, puis j'ai retiré le référentiel 5.4 d'apt-get, puis exécuté apt-get install php5, il indique qu'il était en train d'installer 5.3 et j'ai redémarré php-fastcgi et php5-fpm, mais quand j'exécute php -v, il indique 5.4.

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

Mon serveur exécute Ubuntu 11.04.

18
MacMac

Déclassement de PHP 5.4 à 5.3

Dans Ubuntu, le processus de déclassement est un véritable gâchis. Voici le script que vous pourriez trouver utile (il supprime PHP 5.4 et installe PHP 5.):

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 avec la commande suivante: php --version

Veuillez faire attention et ne pas installer d'autres paquets sans la version de paquet spécifiée (comme php5-xcache), sinon apt-get remplacera votre instance PHP par 5.4!

Pour éviter cela, vous pouvez stocker ces packages.

Tenir les paquets en utilisant dpkg

Pour contenir les paquets 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 paquets php:

Sudo dpkg --get-selections | grep ^php

Tenir des paquets en utilisant aptitude

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

Sudo aptitude hold php5

Débloquer:

Sudo aptitude unhold php5
11
kenorb

Commencez par exécuter apt-cache showpkg php5. Là, vous verrez la version et d’autres informations sur le paquet php5.

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

Dans mon Ubuntu 11.10, ce serait apt-get install php5=5.3.6-13ubuntu3.6

4
Luís Bianchin

Peut-être que ce guide vous aidera: Comment rétrograder un paquet sous Ubunt

Donc, pour télécharger et installer n’importe quel paquet d’une version disponible, vous devez le faire:

Sudo apt-get install Package=Version
2
rɑːdʒɑ

J'avais un problème similaire.

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

N'oubliez pas que php -v exécute le fichier exécutable dans le package php-cli, vous devez donc également le supprimer.

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 ceci devrait montrer la version désirée:

php -v
2
Danish Javed

d'après les étapes que vous avez décrites, vous avez oublié apt-get update après avoir purgé PHP5.4 et supprimé le référentiel 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

1
nathwill