web-dev-qa-db-fra.com

Ubuntu 14.04: problèmes lors de la mise à niveau de php vers 5.6 avec ppa: ondrej

J'ai fait ce qui suit:

Sudo add-apt-repository ppa:ondrej/php5-5.6
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install php5
Sudo apt-get install libapache2-mod-php5.6
Sudo add-apt-repository ppa:ondrej/Apache2

Quand j'essaie de désactiver l'ancienne version de php5 avec:

Sudo phpdismod php5

Je reçois le message d'erreur: ATTENTION: le fichier ini du module php5 n'existe pas sous /etc/php/5.6/mods-available

Même si je déplace le fichier ini sous ce répertoire, la même erreur se produit. Je ne sais pas ce qui me manque ??

En général, quelqu'un peut-il m'expliquer comment faire en sorte que mon instance utilise la version nouvellement installée, car il semble toujours que les deux arborescences de répertoires php soient sur mon instance. php5/.. et php/5.6

7
Scott

Vous mélangez différents PPA, versions et commandes de manière incompatible, décomposons-le:

  1. libapache2-mod-php5.6 est présent dans ppa:ondrej/php et c'est vraiment le PPA que vous souhaitez utiliser

  2. phpdismod est une commande permettant de désactiver les extensions PHP, et non de gérer les modules Apache2, vous avez besoin de a2dismod pour cela.

  3. Le module PHP Apache2 dans ppa:ondrej/php5-5.6 s'appelle libapache2-mod-php5

Donc, le correct serait:

Sudo add-apt-repository ppa:ondrej/php
Sudo apt-get update
Sudo apt-get purge php5-common # remove and purge old PHP 5.x packages
Sudo apt-get install libapache2-mod-php5.6

Si vous ne désinstallez pas d'abord les packages php5-*, vous devez désactiver le module php5 et activer le module php5.6:

Sudo a2dismod php5
Sudo a2enmod php5.6

Et éventuellement ajouter un référentiel Apache2:

Sudo add-apt-repository ppa:ondrej/Apache2
Sudo apt-get update
Sudo apt-get dist-upgrade

Il existe un guide de migration disponible pour les packages PPA.

16
oerdnj