Passer de PHP 7.2 à 7.1 sur Ubuntu 16.04, Apache


21

J'ai besoin de rétrograder PHP sur l'une de mes machines virtuelles de 7.2 à 7.1 sur Ubuntu 16.0.4. La dernière fois que j'ai essayé de supprimer uniquement PHP et de le remplacer par une version différente, j'ai eu toutes sortes de problèmes avec Apache et MySQL. Existe-t-il un moyen rapide de rétrograder PHP de 7.2 à 7.1 sans avoir à réinstaller et configurer complètement Apache (la dernière version à ce jour) et tout le reste sur le serveur?

Je dois rétrograder en raison de mauvaises informations que j'ai reçues d'un fournisseur de logiciels qui prétend que leur application fonctionne sur PHP 7.2. Il s'avère qu'il doit avoir 7.1.

J'ai essayé de chercher des informations sur la façon de rétrograder de 7.2 à 7.1, mais d'obtenir uniquement des résultats de «mise à niveau».

Merci de votre aide.


1
Comment avez-vous commencé PHP 7.2?
Michael Hampton

Mise à jour: j'ai l'habitude sudo add-apt-repository ppa:ondrej/phpd'installer PHP 7.2.x
Pegues le

Réponses:


35

Voici une description de ce que j'ai fait. J'espère que ces informations peuvent aider quelqu'un d'autre:

J'ai installé PHP 7.1 avec PHP 7.2. J'ai également installé la plupart des extensions nécessaires pour PHP 7.1. Je l'ai ensuite fait a2dismod php7.2et a2enmod php7.1pour pouvoir passer à PHP 7.1 tout en gardant 7.2 toujours installé sur le serveur. La plupart de mes sites fonctionnent après avoir effectué le changement. Le seul site qui ne semble pas fonctionner est un site Joomla. La liste complète des commandes que j'ai exécutées est ci-dessous:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo a2dismod php7.2

sudo a2enmod php7.1

sudo service apache2 restart

1
Je suis également dans la même situation mais même après avoir désactivé le module 7.2, si je tape php -v, il affiche toujours php7.2. Une idée?
khichar.anil

1
Moi aussi j'ai la même chose. Même si PHP 7.1 est actuellement activé sur mon serveur, la frappe php -vaffiche PHP 7.2.2. Cependant, si je charge phpinfo()dans mon navigateur, il affichera la version correcte, 7.1.13. Avez-vous essayé d'examiner un fichier avec phpinfo()?
Pegues

Voir mon commentaire ci-dessous. Cela changera le chemin php par défaut.
khichar.anil


@CrandellWS merci pour la part. Informations certainement utiles.
Pegues

19

pour afficher la version php activée dans le terminal par php -v. nous devons mettre à jour la version cli de php. utilisez la commande ci-dessous pour mettre à jour la version php cli

// change terminal (cli) version (7.2 to 7.1)
sudo update-alternatives --set php /usr/bin/php7.1

Cela a fait l'affaire!
mistery_girl

12

@pegues: Votre méthode mentionnée ci-dessus a bien fonctionné pour qu'Apache change de version. En exécutant les commandes suivantes, le php sera également modifié à partir du terminal. En fait, il vous suffit de changer le lien symbolique vers la version PHP souhaitée.

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

1

C'est ce que j'ai fait:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.1

sudo apt-get install php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm

sudo rm /usr/bin/php

sudo ln -s /usr/bin/php7.1 /usr/bin/php

Et pour confirmer que vous avez le php 7.1, tapez la commande suivante

php --ini |grep Loaded

il doit retourner la réponse suivante

Loaded Configuration File:         /etc/php/7.1/cli/php.ini

si vous utilisez laravel pour une raison quelconque, modifiez votre fpm.service pour pointer vers la version 7.1, puis redémarrez-le également

sudo systemctl restart php7.1-fpm.service

sudo service nginx restart
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.