Risoluzione dei problemi
Soluzioni a problemi comuni e tecniche di debug per XOOPS CMS.
📋 Diagnosi rapida
Sezione intitolata “📋 Diagnosi rapida”Prima di approfondire i problemi specifici, controlla queste cause comuni:
- Autorizzazioni file - Directory hanno bisogno 755, file hanno bisogno 644
- Versione PHP - Assicurati PHP 7.4+ (8.x consigliato)
- Log di errore - Controlla
xoops_data/logs/e log di errore PHP - Cache - Cancella cache in Admin → Sistema → Manutenzione
🗂️ Contenuti sezione
Sezione intitolata “🗂️ Contenuti sezione”Problemi comuni
Sezione intitolata “Problemi comuni”- White Screen of Death (WSOD)
- Errori di connessione al database
- Errori di accesso negato
- Errori di installazione modulo
- Errori di compilazione template
Domande frequenti
Sezione intitolata “Domande frequenti”- Domande frequenti installazione
- Domande frequenti moduli
- Domande frequenti temi
- Domande frequenti prestazioni
- Attivazione modalità debug
- Utilizzo Ray Debugger
- Debug query database
- Debug template Smarty
🚨 Problemi comuni e soluzioni
Sezione intitolata “🚨 Problemi comuni e soluzioni”White Screen of Death (WSOD)
Sezione intitolata “White Screen of Death (WSOD)”Sintomi: Pagina bianca vuota, nessun messaggio di errore
Soluzioni:
-
Abilita visualizzazione errore PHP temporaneamente:
// Aggiungi a mainfile.php temporaneamenteerror_reporting(E_ALL);ini_set('display_errors', 1); -
Controlla log di errore PHP:
Terminal window tail -f /var/log/php/error.log -
Cause comuni:
- Limite memoria superato
- Errore sintassi PHP fatale
- Estensione richiesta mancante
-
Correggi problemi memoria:
// In mainfile.php o php.iniini_set('memory_limit', '256M');
Errori di connessione database
Sezione intitolata “Errori di connessione database”Sintomi: “Impossibile connettersi al database” o simile
Soluzioni:
-
Verifica credenziali in mainfile.php:
define('XOOPS_DB_HOST', 'localhost');define('XOOPS_DB_USER', 'tuo_utente');define('XOOPS_DB_PASS', 'tua_password');define('XOOPS_DB_NAME', 'tuo_database'); -
Test connessione manuale:
<?php$conn = new mysqli('localhost', 'user', 'pass', 'database');if ($conn->connect_error) {die("Connessione fallita: " . $conn->connect_error);}echo "Connesso con successo"; -
Controlla servizio MySQL:
Terminal window sudo systemctl status mysqlsudo systemctl restart mysql -
Verifica autorizzazioni utente:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost';FLUSH PRIVILEGES;
Errori di accesso negato
Sezione intitolata “Errori di accesso negato”Sintomi: Impossibile caricare file, impossibile salvare impostazioni
Soluzioni:
-
Imposta autorizzazioni corrette:
Terminal window # Directoryfind /path/to/xoops -type d -exec chmod 755 {} \;# Filefind /path/to/xoops -type f -exec chmod 644 {} \;# Directory scrivibilichmod -R 777 xoops_data/chmod -R 777 uploads/ -
Imposta proprietà corretta:
Terminal window chown -R www-data:www-data /path/to/xoops -
Controlla SELinux (CentOS/RHEL):
Terminal window # Controlla statosestatus# Consenti httpd scriveresetsebool -P httpd_unified 1
Errori installazione modulo
Sezione intitolata “Errori installazione modulo”Sintomi: Modulo non si installa, errori SQL
Soluzioni:
-
Controlla requisiti modulo:
- Compatibilità versione PHP
- Estensioni PHP richieste
- Compatibilità versione XOOPS
-
Installazione SQL manuale:
Terminal window mysql -u user -p database < modules/mymodule/sql/mysql.sql -
Cancella cache modulo:
// In xoops_data/caches/rm -rf xoops_cache/*rm -rf smarty_cache/*rm -rf smarty_compile/* -
Controlla sintassi xoops_version.php:
Terminal window php -l modules/mymodule/xoops_version.php
Errori compilazione template
Sezione intitolata “Errori compilazione template”Sintomi: Errori Smarty, template non trovato
Soluzioni:
-
Cancella cache Smarty:
Terminal window rm -rf xoops_data/caches/smarty_cache/*rm -rf xoops_data/caches/smarty_compile/* -
Controlla sintassi template:
{* Corretto *}{$variable}{* Errato - manca $ *}{variable} -
Verifica esistenza template:
Terminal window ls modules/mymodule/templates/ -
Rigenerato template:
- Admin → Sistema → Manutenzione → Template → Rigenera
🐛 Tecniche di debug
Sezione intitolata “🐛 Tecniche di debug”Abilita modalità debug XOOPS
Sezione intitolata “Abilita modalità debug XOOPS”// In mainfile.phpdefine('XOOPS_DEBUG_LEVEL', 2);
// Livelli:// 0 = Off// 1 = Debug PHP// 2 = Debug PHP + SQL// 3 = Debug PHP + SQL + template SmartyUtilizzo Ray Debugger
Sezione intitolata “Utilizzo Ray Debugger”Ray è un ottimo strumento di debug per PHP:
// Installa tramite Composercomposer require spatie/ray --dev
// Utilizzo nel tuo codiceray($variable);ray($object)->expand();ray()->measure();
// Query databaseray($sql)->label('Query');Console debug Smarty
Sezione intitolata “Console debug Smarty”{* Abilita in template *}{debug}
{* O in PHP *}$xoopsTpl->debugging = true;Logging query database
Sezione intitolata “Logging query database”// Abilita logging query$GLOBALS['xoopsDB']->setLogger(new XoopsLogger());
// Ottieni tutte le query$queries = $GLOBALS['xoopsLogger']->queries;foreach ($queries as $query) { echo $query['sql'] . " - " . $query['time'] . "s\n";}❓ Domande frequenti
Sezione intitolata “❓ Domande frequenti”Installazione
Sezione intitolata “Installazione”D: La procedura guidata di installazione mostra una pagina vuota R: Controlla i log di errore PHP, assicurati che PHP abbia memoria sufficiente, verifica le autorizzazioni file.
D: Impossibile scrivere su mainfile.php durante l’installazione
R: Imposta autorizzazioni: chmod 666 mainfile.php durante l’installazione, quindi chmod 444 dopo.
D: Tabelle database non create R: Controlla che l’utente MySQL abbia privilegi CREATE TABLE, verifica che il database esista.
D: La pagina admin del modulo è vuota R: Cancella cache, controlla admin/menu.php del modulo per errori sintassi.
D: Blocchi modulo non visibili R: Controlla autorizzazioni blocchi in Admin → Blocchi, verifica che il blocco sia assegnato a pagine.
D: Aggiornamento modulo fallisce R: Backup database, prova aggiornamenti SQL manuali, controlla requisiti versione.
D: Il tema non viene applicato correttamente R: Cancella cache Smarty, controlla che theme.html esista, verifica autorizzazioni tema.
D: CSS personalizzato non viene caricato R: Controlla percorso file, cancella cache browser, verifica sintassi CSS.
D: Immagini non visualizzate R: Controlla percorsi immagini, verifica autorizzazioni cartella uploads.
Prestazioni
Sezione intitolata “Prestazioni”D: Il sito è molto lento R: Abilita caching, ottimizza database, controlla query lente, abilita OpCache.
D: Utilizzo memoria elevato R: Aumenta memory_limit, ottimizza query grandi, implementa paginazione.
🔧 Comandi manutenzione
Sezione intitolata “🔧 Comandi manutenzione”Cancella tutti i cache
Sezione intitolata “Cancella tutti i cache”#!/bin/bashrm -rf xoops_data/caches/xoops_cache/*rm -rf xoops_data/caches/smarty_cache/*rm -rf xoops_data/caches/smarty_compile/*echo "Cache cancellato!"Ottimizzazione database
Sezione intitolata “Ottimizzazione database”-- Ottimizza tutte le tabelleOPTIMIZE TABLE xoops_config;OPTIMIZE TABLE xoops_users;OPTIMIZE TABLE xoops_session;-- Ripeti per altre tabelle
-- O ottimizza tutto in una voltamysqlcheck -o -u user -p databaseControlla integrità file
Sezione intitolata “Controlla integrità file”# Confronta con installazione frescadiff -r /path/to/xoops /path/to/fresh-xoops🔗 Documentazione correlata
Sezione intitolata “🔗 Documentazione correlata”- Per iniziare
- Migliori pratiche di sicurezza
- Roadmap XOOPS 4.0
📚 Risorse esterne
Sezione intitolata “📚 Risorse esterne”#xoops #troubleshooting #debugging #faq #errors #solutions