Apache ne redémarre pas

Tags: #<Tag:0x00007fb41ad77be0> #<Tag:0x00007fb41ad77a00>

Bonjour,

J’ai installé PHP 8.2 sous Debian Bullseye. J’obtiens une erreur lors du redémarrage d’Apache :

systemctl status apache2
me donne :

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: failed (Result: exit-code) since Sun 2023-05-21 11:22:28 CEST; 23s>
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 2491 ExecStart=/usr/sbin/apachectl start (code=exited, status=139)
        CPU: 40ms

mai 21 11:22:28 debian systemd[1]: Starting The Apache HTTP Server...
mai 21 11:22:28 debian apachectl[2494]: AH00558: apache2: Could not reliably de>
mai 21 11:22:28 debian systemd[1]: apache2.service: Control process exited, cod>
mai 21 11:22:28 debian apachectl[2491]: Segmentation fault
mai 21 11:22:28 debian apachectl[2491]: Action 'start' failed.
mai 21 11:22:28 debian apachectl[2491]: The Apache error log may have more info>
mai 21 11:22:28 debian systemd[1]: apache2.service: Failed with result 'exit-co>
mai 21 11:22:28 debian systemd[1]: Failed to start The Apache HTTP Server.

/var/log/apache2/error.log contient :

PHP Warning:  Module 'curl' already loaded in Unknown on line 0
PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0
PHP Warning:  Module 'pgsql' already loaded in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: /usr/lib/php/20190902/pdo_sqlite (/usr/lib/php/20190902/pdo_sqlite: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_sqlite.so (/usr/lib/php/20190902/pdo_sqlite.so: undefined symbol: php_pdo_unregister_driver)) in Unknown on line 0
PHP Warning:  Module 'curl' already loaded in Unknown on line 0
PHP Warning:  Module 'mbstring' already loaded in Unknown on line 0
PHP Warning:  Module 'pgsql' already loaded in Unknown on line 0

Bonjour,
tes premiers logs sont tronqués et ne montre pas le sujet de l’erreur.
concernant les seconds logs ils indiquent clairement une double déclaration des modules.

Bonjour,

Installé comment ? Les paquets officiels pour Bullseye sont en version 7.4. Tu as probablement mis la panique (conflit de version PHP) sur ton système en utilisant un dépôt tiers (sury ?). C’est vraiment à éviter quand on a pas une très bonne maîtrise de l’administration d’un serveur.
Si tu avais vraiment besoin de PHP 8.2 il fallait passer sous Bookworm.

Si tu veux essayer de comprendre le problème il faut monter les retours de ces commandes :

apt list --installed php*
a2query -m
apache2ctl -t

pour respectivement, voir les paquets PHP installés, les modules Apache activés, les éventuelles erreurs de configuration Apache

tu as essayé semble-t-il.
Il faut prendre l’habitude d’expliquer comment on a fait

  • quand on n’a pas réussi, comme ça on peut aider
  • quand on a réussi : ça fait un tuto

C’est ce que j’avais prévu de faire.
Mes notes sur la procédure suivie sont ici.

Oui, j’ai utilisé le dépôt Sury.
Je n’ai pas supprimé les anciens paquets.

https://pastebin.com/cSFJLaqp

https://pastebin.com/K2fKNa8J

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Oui, je vois que la sortie de Bookworm est prévue pour le 10 juin 2023. Dans ce cas je préfèrerai tout nettoyer, revenir à PHP 7.4 et attendre sagement la sortie de Bookworm…

Comment est ce que je peux supprimer proprement tous les paquets de Sury et revenir aux paquets officiels ?

Après un a2dismod php8.2 Apache se lance à nouveau.

on voit dans tout installation de php8.2 qu’il manque de nombreux paquets par rapport à php7.4.
mais bon ça ne devrait pas être le problème

ton a2query -m montre php7.4 et 8.2; il ne devrait montrer que php8.2 ; il faut désactiver 7.4

Bonjour dindoun,
Merci pour tes réponses. Mais comme indiqué plus haut, j’ai finalement retiré PHP 8.2.