Dépannage
Solutions aux problèmes courants et techniques de débogage pour XOOPS CMS.
Diagnostic rapide
Section intitulée « Diagnostic rapide »Avant de plonger dans des problèmes spécifiques, vérifiez ces causes courantes:
- Permissions des fichiers - Les répertoires ont besoin de 755, les fichiers ont besoin de 644
- Version PHP - Assurez-vous que PHP 7.4+ (8.x recommandé)
- Journaux d’erreurs - Vérifiez
xoops_data/logs/et les journaux d’erreurs PHP - Cache - Effacez le cache dans Admin > Système > Maintenance
Contenu de la section
Section intitulée « Contenu de la section »Problèmes courants
Section intitulée « Problèmes courants »- Écran blanc de la mort (WSOD)
- Erreurs de connexion à la base de données
- Erreurs de permission refusée
- Défaillances d’installation du module
- Erreurs de compilation de modèles
- FAQ Installation
- FAQ Modules
- FAQ Thèmes
- FAQ Performance
Débogage
Section intitulée « Débogage »- Activation du mode débogage
- Utilisation du débogueur Ray
- Débogage des requêtes de base de données
- Débogage des modèles Smarty
Problèmes courants et solutions
Section intitulée « Problèmes courants et solutions »Écran blanc de la mort (WSOD)
Section intitulée « Écran blanc de la mort (WSOD) »Symptômes: Page blanche vierge, pas de message d’erreur
Solutions:
-
Activer temporairement l’affichage des erreurs PHP:
// Add to mainfile.php temporarilyerror_reporting(E_ALL);ini_set('display_errors', 1); -
Vérifier le journal d’erreurs PHP:
Fenêtre de terminal tail -f /var/log/php/error.log -
Causes courantes:
- Limite de mémoire dépassée
- Erreur de syntaxe PHP fatale
- Extension requise manquante
-
Corriger les problèmes de mémoire:
// In mainfile.php or php.iniini_set('memory_limit', '256M');
Erreurs de connexion à la base de données
Section intitulée « Erreurs de connexion à la base de données »Symptômes: “Impossible de se connecter à la base de données” ou similaire
Solutions:
-
Vérifier les identifiants dans mainfile.php:
define('XOOPS_DB_HOST', 'localhost');define('XOOPS_DB_USER', 'your_username');define('XOOPS_DB_PASS', 'your_password');define('XOOPS_DB_NAME', 'your_database'); -
Tester la connexion manuellement:
<?php$conn = new mysqli('localhost', 'user', 'pass', 'database');if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}echo "Connected successfully"; -
Vérifier le service MySQL:
Fenêtre de terminal sudo systemctl status mysqlsudo systemctl restart mysql -
Vérifier les permissions de l’utilisateur:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost';FLUSH PRIVILEGES;
Erreurs de permission refusée
Section intitulée « Erreurs de permission refusée »Symptômes: Impossible de télécharger des fichiers, impossible d’enregistrer les paramètres
Solutions:
-
Définir les permissions correctes:
Fenêtre de terminal # Directoriesfind /path/to/xoops -type d -exec chmod 755 {} \;# Filesfind /path/to/xoops -type f -exec chmod 644 {} \;# Writable directorieschmod -R 777 xoops_data/chmod -R 777 uploads/ -
Définir la propriété correcte:
Fenêtre de terminal chown -R www-data:www-data /path/to/xoops -
Vérifier SELinux (CentOS/RHEL):
Fenêtre de terminal # Check statussestatus# Allow httpd to writesetsebool -P httpd_unified 1
Défaillances d’installation du module
Section intitulée « Défaillances d’installation du module »Symptômes: Le module ne s’installe pas, erreurs SQL
Solutions:
-
Vérifier les exigences du module:
- Compatibilité de la version PHP
- Extensions PHP requises
- Compatibilité de la version XOOPS
-
Installation SQL manuelle:
Fenêtre de terminal mysql -u user -p database < modules/mymodule/sql/mysql.sql -
Effacer le cache du module:
// In xoops_data/caches/rm -rf xoops_cache/*rm -rf smarty_cache/*rm -rf smarty_compile/* -
Vérifier la syntaxe xoops_version.php:
Fenêtre de terminal php -l modules/mymodule/xoops_version.php
Erreurs de compilation de modèles
Section intitulée « Erreurs de compilation de modèles »Symptômes: Erreurs Smarty, modèle non trouvé
Solutions:
-
Effacer le cache Smarty:
Fenêtre de terminal rm -rf xoops_data/caches/smarty_cache/*rm -rf xoops_data/caches/smarty_compile/* -
Vérifier la syntaxe du modèle:
{* Correct *}{$variable}{* Incorrect - missing $ *}{variable} -
Vérifier que le modèle existe:
Fenêtre de terminal ls modules/mymodule/templates/ -
Régénérer les modèles:
- Admin > Système > Maintenance > Modèles > Régénérer
Techniques de débogage
Section intitulée « Techniques de débogage »Activer le mode débogage XOOPS
Section intitulée « Activer le mode débogage XOOPS »// In mainfile.phpdefine('XOOPS_DEBUG_LEVEL', 2);
// Levels:// 0 = Off// 1 = PHP debug// 2 = PHP + SQL debug// 3 = PHP + SQL + Smarty templatesUtilisation du débogueur Ray
Section intitulée « Utilisation du débogueur Ray »Ray est un excellent outil de débogage pour PHP:
// Install via Composercomposer require spatie/ray --dev
// Usage in your coderay($variable);ray($object)->expand();ray()->measure();
// Database queriesray($sql)->label('Query');Console de débogage Smarty
Section intitulée « Console de débogage Smarty »{* Enable in template *}{debug}
{* Or in PHP *}$xoopsTpl->debugging = true;Journalisation des requêtes de base de données
Section intitulée « Journalisation des requêtes de base de données »// Enable query logging$GLOBALS['xoopsDB']->setLogger(new XoopsLogger());
// Get all queries$queries = $GLOBALS['xoopsLogger']->queries;foreach ($queries as $query) { echo $query['sql'] . " - " . $query['time'] . "s\n";}Questions fréquemment posées
Section intitulée « Questions fréquemment posées »Installation
Section intitulée « Installation »Q: L’assistant d’installation affiche une page vierge R: Vérifiez les journaux d’erreurs PHP, assurez-vous que PHP dispose de suffisamment de mémoire, vérifiez les permissions des fichiers.
Q: Impossible d’écrire dans mainfile.php lors de l’installation
R: Définissez les permissions: chmod 666 mainfile.php lors de l’installation, puis chmod 444 après.
Q: Les tables de base de données ne sont pas créées R: Vérifiez que l’utilisateur MySQL dispose des privilèges CREATE TABLE, vérifiez que la base de données existe.
Q: La page d’administration du module est vierge R: Effacez le cache, vérifiez les erreurs de syntaxe dans le fichier admin/menu.php du module.
Q: Les blocs du module ne s’affichent pas R: Vérifiez les permissions de bloc dans Admin > Blocs, vérifiez que le bloc est assigné aux pages.
Q: La mise à jour du module échoue R: Sauvegardez la base de données, essayez les mises à jour SQL manuelles, vérifiez les exigences de version.
Q: Le thème ne s’applique pas correctement R: Effacez le cache Smarty, vérifiez que theme.html existe, vérifiez les permissions du thème.
Q: Le CSS personnalisé ne se charge pas R: Vérifiez le chemin du fichier, effacez le cache du navigateur, vérifiez la syntaxe CSS.
Q: Les images ne s’affichent pas R: Vérifiez les chemins d’image, vérifiez les permissions du dossier des téléchargements.
Performance
Section intitulée « Performance »Q: Le site est très lent R: Activez la mise en cache, optimisez la base de données, vérifiez les requêtes lentes, activez OpCache.
Q: Utilisation élevée de la mémoire R: Augmentez memory_limit, optimisez les grandes requêtes, implémentez la pagination.
Commandes de maintenance
Section intitulée « Commandes de maintenance »Effacer tous les caches
Section intitulée « Effacer tous les caches »#!/bin/bashrm -rf xoops_data/caches/xoops_cache/*rm -rf xoops_data/caches/smarty_cache/*rm -rf xoops_data/caches/smarty_compile/*echo "Cache cleared!"Optimisation de la base de données
Section intitulée « Optimisation de la base de données »-- Optimize all tablesOPTIMIZE TABLE xoops_config;OPTIMIZE TABLE xoops_users;OPTIMIZE TABLE xoops_session;-- Repeat for other tables
-- Or optimize all at oncemysqlcheck -o -u user -p databaseVérifier l’intégrité des fichiers
Section intitulée « Vérifier l’intégrité des fichiers »# Compare against fresh installdiff -r /path/to/xoops /path/to/fresh-xoopsDocumentation connexe
Section intitulée « Documentation connexe »- Démarrage
- Meilleures pratiques de sécurité
- Feuille de route XOOPS 4.0
Ressources externes
Section intitulée « Ressources externes »#xoops #dépannage #débogage #faq #erreurs #solutions