Fehlerbehebung
Lösungen für häufige Probleme und Debugging-Techniken für XOOPS CMS.
Schnelle Diagnose
Abschnitt betitelt „Schnelle Diagnose“Bevor Sie sich in spezifische Probleme vertiefen, überprüfen Sie diese häufigen Ursachen:
- Dateiberechtigungen - Verzeichnisse benötigen 755, Dateien benötigen 644
- PHP-Version - Stellen Sie sicher, dass PHP 7.4+ (8.x empfohlen)
- Fehler-Logs - Überprüfen Sie
xoops_data/logs/und PHP-Fehler-Logs - Cache - Löschen Sie Cache unter Admin → System → Maintenance
Abschnitt Inhalte
Abschnitt betitelt „Abschnitt Inhalte“Häufige Probleme
Abschnitt betitelt „Häufige Probleme“- White Screen of Death (WSOD)
- Datenbankverbindungsfehler
- Permission Denied Fehler
- Modull-Installationsfehler
- Template-Kompilierungsfehler
- Installations-FAQ
- Modul-FAQ
- Design-FAQ
- Leistungs-FAQ
Debugging
Abschnitt betitelt „Debugging“- Debug-Modus aktivieren
- Ray Debugger verwenden
- Datenbank-Abfrage-Debugging
- Smarty-Template-Debugging
Häufige Probleme & Lösungen
Abschnitt betitelt „Häufige Probleme & Lösungen“White Screen of Death (WSOD)
Abschnitt betitelt „White Screen of Death (WSOD)“Symptome: Leere weiße Seite, keine Fehlermeldung
Lösungen:
-
PHP-Fehleranzeige temporär aktivieren:
// Add to mainfile.php temporarilyerror_reporting(E_ALL);ini_set('display_errors', 1); -
Überprüfen Sie das PHP-Fehler-Log:
Terminal-Fenster tail -f /var/log/php/error.log -
Häufige Ursachen:
- Speicherlimit überschritten
- Fatale PHP-Syntax-Fehler
- Fehlende erforderliche Erweiterung
-
Speicherprobleme beheben:
// In mainfile.php or php.iniini_set('memory_limit', '256M');
Datenbankverbindungsfehler
Abschnitt betitelt „Datenbankverbindungsfehler“Symptome: “Unable to connect to database” oder ähnlich
Lösungen:
-
Überprüfen Sie Anmeldeinformationen in 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'); -
Testen Sie die Verbindung manuell:
<?php$conn = new mysqli('localhost', 'user', 'pass', 'database');if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}echo "Connected successfully"; -
Überprüfen Sie den MySQL-Service:
Terminal-Fenster sudo systemctl status mysqlsudo systemctl restart mysql -
Überprüfen Sie die Benutzerberechtigungen:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost';FLUSH PRIVILEGES;
Permission Denied Fehler
Abschnitt betitelt „Permission Denied Fehler“Symptome: Dateien können nicht hochgeladen werden, Einstellungen können nicht gespeichert werden
Lösungen:
-
Legen Sie die richtigen Berechtigungen fest:
Terminal-Fenster # 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/ -
Legen Sie die richtige Eigentumsschaft fest:
Terminal-Fenster chown -R www-data:www-data /path/to/xoops -
Überprüfen Sie SELinux (CentOS/RHEL):
Terminal-Fenster # Check statussestatus# Allow httpd to writesetsebool -P httpd_unified 1
Modull-Installationsfehler
Abschnitt betitelt „Modull-Installationsfehler“Symptome: Modul wird nicht installiert, SQL-Fehler
Lösungen:
-
Überprüfen Sie Modul-Anforderungen:
- PHP-Versionskompatibilität
- Erforderliche PHP-Erweiterungen
- XOOPS-Versionskompatibilität
-
Manuelle SQL-Installation:
Terminal-Fenster mysql -u user -p database < modules/mymodule/sql/mysql.sql -
Löschen Sie den Modul-Cache:
// In xoops_data/caches/rm -rf xoops_cache/*rm -rf smarty_cache/*rm -rf smarty_compile/* -
Überprüfen Sie xoops_version.php Syntax:
Terminal-Fenster php -l modules/mymodule/xoops_version.php
Template-Kompilierungsfehler
Abschnitt betitelt „Template-Kompilierungsfehler“Symptome: Smarty-Fehler, Template nicht gefunden
Lösungen:
-
Löschen Sie den Smarty-Cache:
Terminal-Fenster rm -rf /path/to/xoops/xoops_data/caches/smarty_cache/*rm -rf /path/to/xoops/xoops_data/caches/smarty_compile/* -
Überprüfen Sie die Template-Syntax:
{* Correct *}{$variable}{* Incorrect - missing $ *}{variable} -
Überprüfen Sie, ob die Template existiert:
Terminal-Fenster ls modules/mymodule/templates/ -
Regenerieren Sie Templates:
- Admin → System → Maintenance → Templates → Regenerate
Debugging-Techniken
Abschnitt betitelt „Debugging-Techniken“Aktivieren Sie den XOOPS-Debug-Modus
Abschnitt betitelt „Aktivieren Sie den XOOPS-Debug-Modus“// In mainfile.phpdefine('XOOPS_DEBUG_LEVEL', 2);
// Levels:// 0 = Off// 1 = PHP debug// 2 = PHP + SQL debug// 3 = PHP + SQL + Smarty templatesVerwenden Sie Ray Debugger
Abschnitt betitelt „Verwenden Sie Ray Debugger“Ray ist ein hervorragendes Debugging-Tool für PHP:
// Install via Composercomposer require spatie/ray --dev
// Usage in your coderay($variable);ray($object)->expand();ray()->measure();
// Database queriesray($sql)->label('Query');Smarty-Debug-Konsole
Abschnitt betitelt „Smarty-Debug-Konsole“{* Enable in template *}{debug}
{* Or in PHP *}$xoopsTpl->debugging = true;Datenbankabfrage-Logging
Abschnitt betitelt „Datenbankabfrage-Logging“// 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";}Häufig gestellte Fragen
Abschnitt betitelt „Häufig gestellte Fragen“Installation
Abschnitt betitelt „Installation“F: Der Installations-Assistent zeigt eine leere Seite A: Überprüfen Sie PHP-Fehler-Logs, stellen Sie sicher, dass PHP genug Speicher hat, überprüfen Sie Dateiberechtigungen.
F: Kann mainfile.php während der Installation nicht schreiben
A: Setzen Sie Berechtigungen: chmod 666 mainfile.php während der Installation, dann chmod 444 danach.
F: Datenbanktabellen werden nicht erstellt A: Überprüfen Sie, ob der MySQL-Benutzer CREATE TABLE Berechtigungen hat, überprüfen Sie, ob die Datenbank existiert.
F: Modul-Admin-Seite ist leer A: Löschen Sie Cache, überprüfen Sie das Module’s admin/menu.php auf Syntax-Fehler.
F: Modul-Blöcke werden nicht angezeigt A: Überprüfen Sie die Block-Berechtigungen unter Admin → Blocks, überprüfen Sie, ob Block den Seiten zugeordnet ist.
F: Modul-Update schlägt fehl A: Sichern Sie die Datenbank, versuchen Sie manuelle SQL-Updates, überprüfen Sie Versionsanforderungen.
Designs
Abschnitt betitelt „Designs“F: Design wird nicht korrekt angewendet A: Löschen Sie Smarty-Cache, überprüfen Sie, ob theme.html existiert, überprüfen Sie Design-Berechtigungen.
F: Benutzerdefiniertes CSS wird nicht geladen A: Überprüfen Sie Dateipfad, löschen Sie Browser-Cache, überprüfen Sie CSS-Syntax.
F: Bilder werden nicht angezeigt A: Überprüfen Sie Bildpfade, überprüfen Sie Uploads-Ordner-Berechtigungen.
Leistung
Abschnitt betitelt „Leistung“F: Webseite ist sehr langsam A: Aktivieren Sie Caching, optimieren Sie die Datenbank, überprüfen Sie auf langsame Abfragen, aktivieren Sie OpCache.
F: Hohe Speichernutzung A: Erhöhen Sie memory_limit, optimieren Sie große Abfragen, implementieren Sie Pagination.
Wartungs-Befehle
Abschnitt betitelt „Wartungs-Befehle“Löschen Sie alle Caches
Abschnitt betitelt „Löschen Sie alle 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!"Datenbankoptimierung
Abschnitt betitelt „Datenbankoptimierung“-- 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 databaseÜberprüfen Sie die Datei-Integrität
Abschnitt betitelt „Überprüfen Sie die Datei-Integrität“# Compare against fresh installdiff -r /path/to/xoops /path/to/fresh-xoopsVerwandte Dokumentation
Abschnitt betitelt „Verwandte Dokumentation“- Getting Started
- Security Best Practices
- XOOPS 4.0 Roadmap
Externe Ressourcen
Abschnitt betitelt „Externe Ressourcen“#xoops #troubleshooting #debugging #faq #errors #solutions