[RESOLU] Serveurs(s) php et apache incohérents

Petit nouveau ! | 4 Messages

02 mars 2022, 18:03

Bonjour,
Excusez-moi si ce message n'est pas dans la bonne catégorie. Cela concerne un serveur apache en mode local sur un Ubuntu 18.04.
  • - J'ai installé une apache2/php7.1/mySQL qui fonctionnait bien.
    - Puis j'ai fait une MAJ vers php7.4 qui s'est déroulée à merveille
    - enfin, j'ai fait une MAJ vers php8.1 qui n'a pas pris.
  • * Dans le terminal, php -v me donne la version 8.1.
    * Par contre, si je regarde dans un phpinfo.php, la version php est la 7.4. C'est donc celle-ci qui est prise en compte par apache.
    * Si je veux désinstaller php8.1 (sudo apt remove php8.1), ubuntu m'indique que le paquet n'est pas installé : c'est très curieux.
Je veux désinstaller php 8.1 pour que ce soit la version 7.4 qui soit prise en compte par php. Quelqu'un a une idée ?

Merci à tous pour votre aide !

ViPHP
ViPHP | 5924 Messages

02 mars 2022, 23:05

Bonjour,

L'installation de PHP peut se faire sous plusieurs formes, et l'installation de l'utilitaire en ligne de commande ou du module apache sont deux formes différentes et indépendantes.

Sur une distribution Debian ou assimilée (Ubuntu et autres), l'installation PHP peut prendre les formes suivantes :
* libapache2-mod-phpX.Y : module apache
* libphpX.Y-embed : Librairie embarquée
* phpX.Y-cgi : Binaire CGI
* phpX.Y-cli : Utilitaire en ligne de commande
* phpX.Y-fpm : Service FPM

* Lorsque tu fais `php -v`, c'est l'utilitaire en ligne de commande qui est utilisé.
* Lorsque tu charges le phpinfo, c'est le module apache qui est utilisé.

Pour savoir précisément quels paquets PHP sont installés, tu peux utiliser la commande suivante :

Code : Tout sélectionner

apt list --installed | grep php
Le paquet libapache2-mod-phpX.Y sera celui utiilisé par apache et le paquet phpX.Y-cli, si installé, est celui utilisé en ligne de commande.

Cordialement

Petit nouveau ! | 4 Messages

03 mars 2022, 16:08

Bonjour,
La réponse était, puisqu'il y a plusieurs versions php installées,

Code : Tout sélectionner

sudo update-alternatives --set php /usr/bin/php7.4
Cette commande détermine la version 7.4 comme version par défaut. C'est donc celle-ci qui sera utilisée par apache.

J'espère que cela pourra servir. Merci à Sekitoyai pour sa réponse !