Mauvaise Interprétation code PHP par Apache

Bonjour,
Je me retrouve dans le même cas de figure que « maximini » dans sont post du 20 juin 2020…

Suite à un désastre, j’ai désinstallé Apache, puis réinstallé…dans mon navigateur j’ai bien la page d’info d’apache, mais quand je créé la page d’info de PHP, je n’ai que le code, sans l’interprétation, et sans l’affichage de la page…

J’ai bien installé « libapache2-mod-php », mais impossble de le retrouver dans le dossier /etc/apache2/mod-available.
Je pense que mon souci se trouve à ce niveau…

J’ai suivi le fil du post, mais je n’ai pas réussi à trouver ma solution…
Si quelqu’un peut m’aider…Merci d’avance

Ma version Debian est : 11.3
Ma version apache est : 2.4.53
Ma version PHP est: 7.4.28
Ma version Mariadb: 10.5.15

Tout est à jour je l’espère…

Cordialement,
Epoc

Bonjour,

tu as installé PHP depuis les dépôts officiels Debian, ou depuis un dépôt tiers comme sury ?

Il y a la possibilité que libapache2-mod-php soit pour php 8, c’est le cas pour la version dans les dépôts sury pour bullseye:

root@zabbix:~# apt show libapache2-mod-php
Package: libapache2-mod-php
Version: 2:8.1+92+0~20220117.43+debian11~1.gbpe0d14e
Priority: optional
Section: php
Source: php-defaults (92+0~20220117.43+debian11~1.gbpe0d14e)
Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>

Depends: libapache2-mod-php8.1
APT-Sources: https://packages.sury.org/php bullseye/main amd64 Packages
[...]
 This package is a dependency package, which depends on latest stable
 PHP version (currently 8.1).

Cherche plutôt un paquet libapache2-mod-php7.4 si tu veux utiliser php 7.4

Bonjour Sputnik93…

Merci pour ton retour…
Quand je lance la commande d’installation, j’ai le message…:

:/# apt-get install libapache2-mod-php7.4
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
libapache2-mod-php7.4 est déjà la version la plus récente (7.4.28-1+deb11u1).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 2 non mis à jour.

Et je n’ai rien d’autre…
Le fichier peut-il être construit à la main…? Et placé dans le dossier de destination approprié…?

epoc

Etrange.
Je viens de vérifier, les fichiers

/etc/apache2/mods-available/php7.4.conf
/etc/apache2/mods-available/php7.4.load

sont bien fournis par le paquet libapache2-mod-php7.4, que ce soit celui du dépôt sury ou celui du dépôt Debian.

C’est bizarre que tu n’aies pas ces fichiers, est-ce que le paquet libapache2-mod-php7.4est correctement installé ? Au pire tente une réinstallation du paquet.

Je pense pas, le paquet fournit d’autres fichiers, notamment dans /usr/lib, et il exécute aussi un script de postinstallation, donc il vaut mieux s’assurer qu’il est correctement installé.

Etrange comme tu dis…

le contenu de mon dossier:

root@debian11:/etc/apache2/mods-enabled# ls
access_compat.load  authn_core.load  authz_user.load  deflate.load  filter.load   mpm_event.conf    reqtimeout.conf  setenvif.load
alias.conf          authn_file.load  autoindex.conf   dir.conf      headers.load  mpm_event.load    reqtimeout.load  status.conf
alias.load          authz_core.load  autoindex.load   dir.load      mime.conf     negociation.conf  rewrite.load     status.load
auth_basic.load     authz_host.load  deflate.conf     env.load      mime.load     negociation.load  setenvif.conf
root@debian11:/etc/apache2/mods-enabled#

Quand tu parles de réinstallation du paquet…avec la commande:
apt-get install libapache2…
ou réinstaller apache intégralement…?

j’ai tenté en copiant un fichier de conf récupéré sur une autre installation pleinement fonctionnel…
Ben je confirme « ça marche pas »… :wink:

à la commande ci dessous j’ai le message d’erreur:

root@debian11:/# a2enmod php7
ERROR: Module php7 does not exist!
root@debian11:/# 

Tu peux faire des copier/coller de texte, puis les mettre en forme (Ctrl+Maj+C), c’est plus simple que des captures d’écran.

Tu affiches le contenu du dossier mods-enabled au lieu de mods-available, du coup si tu n’as pas activé le module c’est normal de ne pas l’y trouver. Et le module ne s’appelle pas php7 mais php7.4, essaie plutôt a2enmod php7.4. Mais bon, le script de postinstallation de libapache2-mod-php est censé s’en charger.

Juste le paquet libapache2-mod-php

Normale ce module n’existe pas … écrit comme ça voir pas du tout si tu est en FPM

Fourni plutôt le résultat d’un :

apt reinstall libapache2-mod-php

Ainsi que l’état de ta stack WEB :

apt policy apache2 libapache2-mod-php7.4 php7.4 php7.4-mysql mariadb-common mariadb-server-10.5

Merci pour ton retour…

A la commande: apt reinstall libapache2-mod-php7.4 j’ai le résultat suivant:

root@debian11:/# apt reinstall libapache2-mod-php7.4
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 2 non mis à jour.
Il est nécessaire de prendre 0 o/1 374 ko dans les archives.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
(Lecture de la base de données... 48398 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libapache2-mod-php7.4_7.4.28-1+deb11u1_amd64.deb ...
Dépaquetage de libapache2-mod-php7.4 (7.4.28-1+deb11u1) sur (7.4.28-1+deb11u1) ...
Paramétrage de libapache2-mod-php7.4 (7.4.28-1+deb11u1) ...
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
dpkg: erreur de traitement du paquet libapache2-mod-php7.4 (--configure) :
installed libapache2-mod-php7.4 package post-installation script subprocess returned error exit 
status 1
Des erreurs ont été rencontrées pendant l'exécution :
libapache2-mod-php7.4
E: Sub-process /usr/bin/dpkg returned an error code (1)

A la commande: « apt reinstall libapache2-mod-php » j’ai le retour ci-dessous:

root@debian11:/# apt reinstall libapache2-mod-php
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 2 non mis à jour.
Il est nécessaire de prendre 0 o/6 460 o dans les archives.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
(Lecture de la base de données... 48398 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libapache2-mod-php_2%3a7.4+76_all.deb ...
Dépaquetage de libapache2-mod-php (2:7.4+76) sur (2:7.4+76) ...
Paramétrage de libapache2-mod-php (2:7.4+76) ...

A la commande « apt policy apache2… » j’ai le retour:

root@debian11:/# apt policy apache2 libapache2-mod-php7.4 php7.4 php7.4-mysql mariadb-common mariadb-server-10.5
apache2:
  Installé : 2.4.53-1~deb11u1
  Candidat : 2.4.53-1~deb11u1
 Table de version :
 *** 2.4.53-1~deb11u1 500
 500 http://deb.debian.org/debian bullseye/main amd64 Packages
 100 /var/lib/dpkg/status
     2.4.52-1~deb11u2 500
 500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
libapache2-mod-php7.4:
  Installé : 7.4.28-1+deb11u1
  Candidat : 7.4.28-1+deb11u1
 Table de version :
 *** 7.4.28-1+deb11u1 500
 500 http://deb.debian.org/debian bullseye/main amd64 Packages
 500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
 100 /var/lib/dpkg/status
php7.4:
  Installé : 7.4.28-1+deb11u1
  Candidat : 7.4.28-1+deb11u1
 Table de version :
 *** 7.4.28-1+deb11u1 500
 500 http://deb.debian.org/debian bullseye/main amd64 Packages
 500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
 100 /var/lib/dpkg/status
php7.4-mysql:
  Installé : 7.4.28-1+deb11u1
  Candidat : 7.4.28-1+deb11u1
 Table de version :
 *** 7.4.28-1+deb11u1 500
 500 http://deb.debian.org/debian bullseye/main amd64 Packages
 500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
 100 /var/lib/dpkg/status
mariadb-common:
  Installé : 1:10.5.15-0+deb11u1
  Candidat : 1:10.5.15-0+deb11u1
 Table de version :
 *** 1:10.5.15-0+deb11u1 500
 500 http://deb.debian.org/debian bullseye/main amd64 Packages
 100 /var/lib/dpkg/status
mariadb-server-10.5:
  Installé : 1:10.5.15-0+deb11u1
  Candidat : 1:10.5.15-0+deb11u1
 Table de version :
 *** 1:10.5.15-0+deb11u1 500
 500 http://deb.debian.org/debian bullseye/main amd64 Packages
 100 /var/lib/dpkg/status

Ton problème viens sans doute de là …

Apparemment la version de la lib apache php que tu installe lorsque tu ne spécifie pas la version 7.4 est plus en avance, si ce n’est pas déjà fait le ménage dans ce qu’il ne te sert à rien et laisse la version précisé par @Sputnik93

Clochette. merci…

peux-tu me guider dans le ménage à faire…:
stopper « Apache2 », puis…
il me faut supprimer le module « libapache2-mod-php7.4 » avec la commande « rm »
il me faut supprimer le module « libapache2-mod-php » avec la commande « rm »
comment faire pour supprimer correctement ce qui pose problème…
Puis réinstaller la bon paquet « …php7.4 » (de préférence…)

d’avance merci…

Non, il vaut mieux laisser apt supprimer les fichiers, plutôt que le faire manuellement:

apt purge libapache2-mod-php7.4
apt install libapache2-mod-php7.4

Merci pour les infos…

Merci a vous deux…sputnick93…Clochette…
Merci à Clochette…sputnick93…

Mon soucis est résolu…

L’interprétation du code PHP via apache est résolu…
Je n’ai perdu aucune données dans mariadb…sans perte de conf sur ma config PHP…

Le poste peut être clôturé…

Cordialement,
Epoc…