Comment puis-je rétrograder de PHP 7 à PHP 5.6 sur Ubuntu 16.04?

J’essaie de rétablir ma version de PHP de la version 7 à la version 5.6. Même si j’ai supprimé PHP 7, puis installé PHP 5.6, il semble que j’utilise toujours la version 7.

Existe-t-il une méthode simple pour passer d’une version PHP à une autre, dans laquelle apache, phpMyAdmin et co sont configurés de manière appropriée?

Un moyen simple de changer la version actuelle de PHP à la volée et même site par site serait formidable.

    Mettre à jour
    Aujourd’hui, j’ai de nouveau un problème avec PHP 7, alors que j’ai désactivé le module apache de php7.0 : phpinfo montrait php 7 en utilisant fastCGI …
    … Donc, si après avoir suivi les instructions ci-dessous, vous faites face à cette situation, vous devrez peut-être désactiver le module apache proxy_fcgi :

     sudo a2dismod proxy_fcgi proxy; sudo service apache2 restart 

    1. Réinstallez PHP 5.6

    Ce guide a fonctionné pour moi: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu

    En fait, il n’est pas nécessaire de supprimer php7.0 , vous pouvez installer php5.6 ensemble (également parce que vous aurez un problème de dépendance avec le paquet phpmyadmin qui nécessitait php7.0)

    En supposant que libapache2-mod-php soit un moyen approprié d’activer PHP dans Apache, vous pouvez procéder comme libapache2-mod-php :

     sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbssortingng php-mbssortingng php7.0-mbssortingng php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 

    2. Changer de version de PHP :

    • De PHP5.6 à PHP7.0:

      • Apache:

         sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart 
      • CLI:

         sudo update-alternatives --set php /usr/bin/php7.0 
    • De php7.0 à php5.6:

      • Apache:

         sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart 
      • CLI:

         sudo update-alternatives --set php /usr/bin/php5.6 

    Ubuntu 16.04 est livré avec php 7.0 , et certaines applications php peuvent toujours échouer avec php 7.0 .Par conséquent, dans certains cas, il peut être judicieux d’avoir php 7.0 et php 5.x , de sorte que vous puissiez choisir la version à utiliser pour votre ordinateur. besoins à tout moment.

    Vous pouvez le faire avec:

     xavi@computer# sudo su root@computer# add-apt-repository ppa:ondrej/php root@computer# apt-get update root@computer# apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbssortingng php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0 php5.6-curl php5.6-gd php5.6-mcrypt php5.6-xml php5.6-xmlrpc 

    L’installation de php5.6 & php7.0 était propre dans mon cas: je ne me plains pas de problèmes, etc.

    Pour passer de php 5.6 à php 7.0 vous devez faire deux choses:

     # For php in web apps sudo a2dismod php5.6 && sudo a2enmod php7.0 && sudo service apache2 restart # For php-cli in the command line sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php 

    ou de php7.0 à php5.6:

     # For php in web apps sudo a2dismod php7.0 && sudo a2enmod php5.6 && sudo service apache2 restart # For php-cli in the command line sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php 

    Vous pouvez également vérifier rapidement lequel vous utilisez en exécutant php -v.

    Votre question manque de détails importants, je vais donc répondre plus largement.

    En supposant que vous utilisiez des packages, il existe quelques détails importants:

    1. Apache2 peut être configuré pour utiliser apache2 SAPI à l’aide du libapache2-mod-php7.0 ou FPM SAPI à l’aide de php7.0-fpm avec mod_proxy_fcgi .

    2. Ubuntu 16.04 n’a que PHP 7.0 dans les repositorys, vous pouvez utiliser ppa:ondrej/php pour append un support pour PHP 5.6 en utilisant un schéma de nommage similaire (par exemple, libapache2-mod-php5.6 ou php5.6-fpm ).

    3. Si vous utilisez Apache2 SAPI ( libapache2-mod-php* ), vous devez désactiver PHP 7.0 après avoir installé libapache2-mod-php5.6 en exécutant a2dismod php7.0 et activer PHP 5.6 en exécutant a2enmod php5.6 .

    4. Si vous utilisez FPM SAPI ( php*-fpm ), vous devez changer le socket FPM unix de /run/php/php7.0-fpm.sock en /run/php/php5.6-fpm.sock .

    5. Rappelez-vous que pour les modules fournis avec PHP (comme MySQL), la convention de nommage est la phpX.Y- : phpX.Y- (par exemple, php7.0-mysql et php5.6-mysql ), mais pour les modules externes PECL (par exemple, APCu, mongodb,. ..) c’est juste php- (par exemple php-apcu , php-mongodb ). Je recommande d’exécuter apt-cache search php sur votre système pour rechercher le nom de paquet correct avant de poser une question sur Internet.

    Je pense que vous devriez supprimer vos paquets php et installer php5.6. Vous pouvez procéder comme suit:

     sudo aptitude purge dpkg -l | grep php| awk '{print $2}' |tr "\n" " " sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php5.6 

    Vous pouvez ensuite vérifier la version de votre php pour en être sûr. C’est fait comme on le voit ci-dessous:

     php -v