You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-10-15 16:32:37

denisl
Member
Registered: 2021-03-25
Posts: 9

[Résolu]GLPI 10.0.7 - Upgrade Debian 11 vers Debian 12 => page blanche

Bonjour,

J'ai fait plusieurs tentatives d'upgrade vers Debian 12 de mon serveur GLPI actuel (10.0.7) sous Debian 11. Heureusement, c'est facile pour moi de revenir en arrière car c'est une VM (snapshots) smile

Le serveur est très "clean" et ne contient que les composants strictement nécessaires à GLPI (pas d'interface graphique ou autres).

La migration de l'OS se passe très bien mais en bout de course, le site GLPI ne fonctionne plus : j'obtiens une page blanche quand je tente de m'y reconnecter après la migration.

Au niveau log, j'ai ces mentions qui se répètent dans /var/www/glpi/files/_log/php-errors.log à chaque fois que je tente d'accéder à la page d'accueil de GLPI depuis la migration Debian 12 terminée :

[2023-10-15 14:30:38] glpiphplog.CRITICAL:   *** Uncaught Exception Error: Call to undefined function mysqli_report() in /var/www/glpi/src/DBmysql.php at line 226
  Backtrace :
  src/DBmysql.php:209                                DBmysql->connect()
  src/DBConnection.php:412                           DBmysql->__construct()
  src/DBConnection.php:501                           DBConnection::switchToMaster()
  inc/config.php:114                                 DBConnection::establishDBConnection()
  inc/includes.php:53                                include_once()
  index.php:87                                       include()
  public/index.php:73                                require()

J'ai cherché sur Internet mais n'ai rien trouvé de probant si ce n'est ici (il est fait mention d'un patch mais pas de lien donc cela ne m'aide pas car je n'ai pas pu essayer) : github.com/glpi-project/glpi/issues/14930

J'ai bien farfouillé ici et là, notamment sur dwaves.de/2023/08/14/how-to-upgrade-from-debian-11-to-debian-12-apache2-upgrade-problems-not-running-php8-2-but-output-text-of-code/. D'après ce blog, PHP 7.4 serait toujours en partie installé et PHP 8.2 pas totalement. J'ai suivi la procédure indiquée, juste au cas où, mais aucun résultat.

Est-ce que quelqu'un a une procédure de migration déjà fonctionnelle ou pourrait m'aider à identifier le problème ?

Merci d'avance smile

Last edited by denisl (2023-10-21 13:54:20)

Offline

#2 2023-10-19 00:06:09

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,424
Website

Re: [Résolu]GLPI 10.0.7 - Upgrade Debian 11 vers Debian 12 => page blanche

Bonjour,
Je suggère de vous assurer que les extensions requises sont installées pour PHP 8.2 (consultez la documentation d'installation de GLPI pour la liste).
https://glpi-install.readthedocs.io/en/ … s.html#php
Ensuite, assurez-vous qu'Apache a activé le module PHP8.2 au lieu de PHP7.4. Vous pouvez vérifier en répertoriant le contenu de "/etc/apache2/mods-enabled". Vous pouvez désactiver un module avec la commande "a2dismod" et activer un module avec "a2enmod". Assurez-vous de redémarrer Apache après avoir apporté des modifications.

Ensuite, assurez-vous que la version système par défaut de PHP est 8.2 afin que les actions de ligne de commande utilisent la version la plus récente. Vous pouvez le faire en utilisant la commande "sudo update-alternatives --config php".


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#3 2023-10-21 13:51:20

denisl
Member
Registered: 2021-03-25
Posts: 9

Re: [Résolu]GLPI 10.0.7 - Upgrade Debian 11 vers Debian 12 => page blanche

Bonjour,

Merci beaucoup pour votre assistance grâce à laquelle j'ai pu résoudre le problème smile

Il se fait que, pour une raison que j'ignore, le paquet php8.2-mysql n'avait pas été installé durant l'upgrade de l'OS vers Debian 12. Le module PHP8.2 était quant à lui bien activé par Apache et la version système par défaut de PHP était bien paramétrée sur 8.2.

Pour celles et ceux que ce post pourrait aider, je récapitule ci-dessous la procédure d'upgrade d'un serveur GLPI de Debian 11 à Debian 12 :

0) Vous devez disposer au minimum de GLPI version 10.0.7 pour assurer un support complet de PHP 8.2. Si vous avez une version antérieure, commencez par la mettre à jour.

1) Avant toute tentative, veillez à disposer d'une sauvegarde du serveur complet créée juste avant cette procédure. En cas de problème, vous pourrez ainsi facilement revenir à la situation de départ.

2) Commencez par mettre à jour votre serveur soit en utilisant "sudo" soit en passant en "root" (su -)

sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt --purge autoremove

3) Créez une sauvegarde de votre fichier "/etc/apt/sources.list" et du répertoire "/etc/apt/sources.list.d/"

sudo cp /etc/apt/sources.list ~/apt
sudo cp -rv /etc/apt/sources.list.d/ ~/apt

4) Remplacez-y le terme "bullseye" (debian 11) par "bookworm" (debian 12)

sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*

5) Ajoutez éventuellement les dépôts non-libres dans votre fichier "/etc/apt/sources.list"

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

6) Mettez à jour la liste des dépôts

sudo apt update

7) Exécutez la première étape de la mise à jour

sudo apt upgrade --without-new-pkgs

Lorsque le changelog est affiché, consultez le et quittez avec la touche "q".
Si le processus de mise à jour demande un redémarrage inconditionnel des services impactés, acceptez.
Si un conflit se produit entre un fichier existant et la version fournie dans la mise à jour, en règle générale conservez votre version (dans mon cas, j'ai conservé "crontab" et "apache2.conf"). Vous pouvez de toute façon, à chaque fois, comparer les deux fichiers pour examiner les différences et prendre votre décision en conséquence.

6) Exécutez la seconde étape de la mise à jour

sudo apt full-upgrade

7) Après la mise à jour, redémarrez le serveur

sudo systemctl reboot

8) Testez l'accès à GLPI et, en cas de problème (comme ce fut le cas pour moi) :

- Réinstallez les modules php annexes (dans mon cas, il manquait "php-mysql") :

sudo apt install php-{ldap,imap,apcu,xmlrpc,curl,common,gd,json,mbstring,mysql,xml,intl,zip,bz2}

- Assurez-vous qu'Apache a activé le module PHP8.2 au lieu de PHP7.4. Vous pouvez vérifier en répertoriant le contenu de "/etc/apache2/mods-enabled".

ls /etc/apache2/mods-enabled

Vous pouvez désactiver un module avec la commande "a2dismod" et activer un module avec "a2enmod".

Redémarrez Apache après avoir apporté des modifications.

sudo systemctl restart apache2

- Assurez-vous que la version système par défaut de PHP est 8.2 afin que les actions de ligne de commande utilisent la version la plus récente.

sudo update-alternatives --config php

9) Si GLPI fonctionne correctement, vous pouvez alors passer à la suite. Sinon, corrigez les problèmes ou restaurez votre sauvegarde si besoin smile

10) Ajustez la configuration de PHP 8.2 et redémarrez Apache après avoir apporté des modifications :

sudo nano /etc/php/8.2/apache2/php.ini

memory_limit = 128M
file_uploads = on
max_execution_time = 600
session.auto_start = 0
session.use_trans_sid = 0
session.cookie_secure = on (! uniquement si vous accédez à GLPI en HTTPS !)
session.cookie_httponly = on

sudo systemctl restart apache2

11) Vérifiez la présence des anciens paquets PHP 7.4 et, le cas échéant, supprimez-les ainsi que leurs fichiers de configuration :

sudo dpkg -l|grep php
sudo apt --purge remove php7*

12) Nettoyez le système d'exploitation des paquets non-utilisés et de leur fichiers de configuration :

sudo apt --purge autoremove

Last edited by denisl (2023-10-23 07:56:16)

Offline

#4 2024-01-04 13:02:36

JeanBon
Member
Registered: 2023-10-17
Posts: 15

Re: [Résolu]GLPI 10.0.7 - Upgrade Debian 11 vers Debian 12 => page blanche

Bonjour, Merci pour les tips.

Contexte similaire. upgrade de 10.0.1 vers 10.0.11 puis Debian 12 sur NGINX.
JE suis bien en PHP 8.2.7 sur la VM.
j'ai le message qui me demande d'update PHP. Comment le faire sans douleur ? smile

Le support officiel de PHP 7.4 est terminé. La mise à niveau vers une version plus récente de PHP est recommandée.

Merci beaucoup

Offline

Board footer

Powered by FluxBB