Aller au contenu

Mise à niveau de XOOPS 2.5 vers 2.7

  • PHP 8.2+ requis — PHP 7.x n’est plus supporté
  • Dépendances gérées par Composer — Bibliothèques principales gérées via composer.json
  • Autoloading PSR-4 — Les classes de module peuvent utiliser les espaces de noms
  • XoopsObject amélioré — Nouveau type de sécurité getVar(), obj2Array() dépréciée
  • Interface d’administration Bootstrap 5 — Panneau d’administration reconstruit avec Bootstrap 5
  • PHP 8.2+ disponible sur votre serveur
  • Sauvegarde complète de la base de données (mysqldump -u user -p xoops_db > backup.sql)
  • Sauvegarde complète de votre installation
  • Liste des modules installés et de leurs versions
  • Thème personnalisé sauvegardé séparément
// mainfile.php — ajouter temporairement
define('XOOPS_MAINTENANCE', true);
Fenêtre de terminal
wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zip
unzip xoops-2.7.x.zip

Téléchargez les nouveaux fichiers, en excluant :

  • uploads/ — vos fichiers chargés
  • xoops_data/ — votre configuration
  • modules/ — vos modules installés
  • themes/ — vos thèmes
  • mainfile.php — votre configuration de site
Fenêtre de terminal
rsync -av --exclude='uploads/' --exclude='xoops_data/' \
--exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \
xoops-2.7/ /var/www/html/

Accédez à https://yourdomain.com/upgrade/ dans votre navigateur. L’assistant de mise à niveau appliquera les migrations de base de données.

Les modules XOOPS 2.7 doivent être compatibles avec PHP 8.2. Consultez le Guide des modules pour les versions mises à jour.

En Admin → Modules, cliquez sur Mettre à jour pour chaque module installé.

Supprimer la ligne XOOPS_MAINTENANCE de mainfile.php et vérifier que toutes les pages se chargent correctement.

Erreurs “Class not found” après la mise à niveau

  • Exécutez composer dump-autoload dans la racine XOOPS
  • Effacez le répertoire xoops_data/caches/

Module cassé après la mise à jour

  • Vérifiez les versions 2.7-compatibles des versions GitHub du module
  • Le module pourrait avoir besoin de modifications de code pour PHP 8.2 (fonctions dépréciées, propriétés typées)

CSS du panneau d’administration cassés

  • Effacez le cache de votre navigateur
  • Assurez-vous que xoops_lib/ a été complètement remplacé lors du téléchargement de fichiers