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.
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.
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
Vous pouvez également conserver des paquets en utilisant aptitude, par exemple:
Sudo aptitude hold php5
Débloquer:
Sudo aptitude unhold php5
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
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
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
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