Parfois Linux m'énerve.

Il y a quelques semaines une vulnérabilité dans Apache <2.5.4 m'avait déjà fait tourner en bourrique. J'avais cherché, en vain, à forcer la mise à jour de mon 2.4.x en 2.5.4.
J'avais alors écrit sur un forum d'aide dédié à la distribution que j'utilise où on m'avait gentiment appris que la version 2.4.x de l'éditeur incluait déjà les correctifs de sécurité qu'Apache.org déclinait dans sa version 2.5.4 et que c'est pour cela qu'un apt-get uprade ne faisait pas s'élever le numéro de version.

il fallait le savoir. ça ne s'invente pas. L'éditeur de l'OS inclue des correctifs sans changer le numéro de version par rapport à l'éditeur du logiciel...

OK. Tout semblait fonctionner jusque là mais aujourd'hui je découvre que des pages de ce site ne fonctionnent plus.
Bon, je plaide coupable, il m'a proposé une mise à jour assez longtemps mais je ne voulais pas car j'avais modifié le template que vous avez, ce qui a pour conséquence d'interdire une mise à jour (maj) automatique. Donc à la main en sauvegardant les fichiers de configuration ... moyennement envie.

Sauf que ce soir ça ne fonctionne plus, donc je procède à la maj.
mais ça ne résoud pas le problème, au contraire : erreur 500 d'Apache : pas bon !

[Sat Mar 18 18:33:07.831640 2023] [php:error] [pid 128312] [client -.-.-.-:49811] PHP Fatal error:  Uncaught Error: Call to undefined function simplexml_load_string() in /-/-/-/inc/core/class.dc.media.php:309\nStack trace:\n#0 /-/-/-/-/core/class.dc.media.php(639): dcMedia->fileRecord()\n#1 /-/-/-/-/media.php(611): dcMedia->getDir()\n#2 /-/-/-/-/media.php(23): adminMediaPage->__construct()\n#3 /-/-/-/-/media.php(937): adminMedia::init()\n#4 {main}\n  thrown in /-/-/-/-/class.dc.media.php on line 309, referer: https://nasts-srv1.myftp.org/

okay ? heu ?

Bon, en fait il m'aura fallu 2 bonnes heures car :

Apache 2.5.4 fait tourner les moteurs PHP 7.0 8.1 et 8.2 (?)
Quand en shell je demande la version de PHP c'est 8.2 qui répond. Quand je demande à PhpInfo c'est 8.1.17 qui me répond (?!) Apache semble ne charger que 8.1.load qui renvoie vers libxml8.1.so mais pas de libxml8.2.so de façon très étrange.

Au final, deux heures passées à purger les versions antérieures (apt remove apt purge) en vain. 
Au bout du processus, désinstallation de toutes les versions de PHP, réinstallation de 8.1, pas la même erreur, il manque un module, puis au final je reviens (enfin ?) au simplexml_load_string()

Mais à ce moment, effectivement, PhpInfo ne signale plus le module phpxml comme chargé ?!

 apt-get install php8.1-xml

Les NOUVEAUX paquets suivants seront installés :
  php8.1-xml
0 mis à jour, 1 nouvellement installés, 0 à enlever et 6 non mis à jour.
Il est nécessaire de prendre 118 ko dans les archives.
Après cette opération, 484 ko d'espace disque supplémentaires seront utilisés.

Pardon ? 

Et là, enfin, ça refonctionne.

Je crains maintenant le passage automatique à 8.2 qui finira bien par survenir lors d'une upgrade système...

AJOUT

Je me rends à présent compte qu'il manque la librairie php8.1-gd pour les images/vignettes.
comme je risque d'avoir encore des besoin, voici l'url de la liste des packages php8.1