Pemecahan Masalah
Solusi untuk masalah umum dan teknik debugging untuk XOOPS CMS.
📋 Diagnosis Cepat
Section titled “📋 Diagnosis Cepat”Sebelum mendalami masalah tertentu, periksa penyebab umum berikut:
- Izin File - Direktori memerlukan 755, file memerlukan 644
- Versi PHP - Pastikan PHP 7.4+ (disarankan 8.x)
- Log Kesalahan - Periksa log kesalahan
xoops_data/logs/dan PHP - Cache - Hapus cache di Admin → Sistem → Pemeliharaan
🗂️ Bagian Isi
Section titled “🗂️ Bagian Isi”Masalah Umum
Section titled “Masalah Umum”- Layar Putih Kematian (WSOD)
- Kesalahan Koneksi Basis Data
- Izin Ditolak Kesalahan
- Kegagalan Instalasi module
- Kesalahan Kompilasi Template
Pertanyaan Umum
Section titled “Pertanyaan Umum”- FAQ Instalasi
- module FAQ
- FAQ theme
- FAQ Kinerja
Men-debug
Section titled “Men-debug”- Mengaktifkan Mode Debug
- Menggunakan Ray Debugger
- Debugging Kueri Basis Data
- Proses Debugging template Smarty
🚨 Masalah & Solusi Umum
Section titled “🚨 Masalah & Solusi Umum”Layar Putih Kematian (WSOD)
Section titled “Layar Putih Kematian (WSOD)”Gejala: Halaman putih kosong, tidak ada pesan kesalahan
Solusi:
-
Aktifkan tampilan kesalahan PHP sementara:
// Add to mainfile.php temporarilyerror_reporting(E_ALL);ini_set('display_errors', 1); -
Periksa log kesalahan PHP:
Terminal window tail -f /var/log/php/error.log -
Penyebab umum:
- Batas memori terlampaui
- Kesalahan sintaksis PHP yang fatal
- Ekstensi yang diperlukan tidak ada
-
Memperbaiki masalah memori:
// In mainfile.php or php.iniini_set('memory_limit', '256M');
Kesalahan Koneksi Basis Data
Section titled “Kesalahan Koneksi Basis Data”Gejala: “Tidak dapat terhubung ke database” atau serupa
Solusi:
-
Verifikasi kredensial di 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'); -
Uji koneksi secara manual:
<?php$conn = new mysqli('localhost', 'user', 'pass', 'database');if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}echo "Connected successfully"; -
Periksa layanan MySQL:
Terminal window sudo systemctl status mysqlsudo systemctl restart mysql -
Verifikasi izin pengguna:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost';FLUSH PRIVILEGES;
Izin Ditolak Kesalahan
Section titled “Izin Ditolak Kesalahan”Gejala: Tidak dapat mengunggah file, tidak dapat menyimpan pengaturan
Solusi:
-
Setel izin yang benar:
Terminal window # 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/ -
Tetapkan kepemilikan yang benar:
Terminal window chown -R www-data:www-data /path/to/xoops -
Periksa SELinux (CentOS/RHEL):
Terminal window # Check statussestatus# Allow httpd to writesetsebool -P httpd_unified 1
Kegagalan Instalasi module
Section titled “Kegagalan Instalasi module”Gejala: module tidak dapat dipasang, kesalahan SQL
Solusi:
-
Periksa persyaratan module:
- Kompatibilitas versi PHP
- Ekstensi PHP yang diperlukan
- Kompatibilitas versi XOOPS
-
Pemasangan manual SQL:
Terminal window mysql -u user -p database < modules/mymodule/sql/mysql.sql -
Hapus cache module:
// In xoops_data/caches/rm -rf xoops_cache/*rm -rf smarty_cache/*rm -rf smarty_compile/* -
Periksa sintaks xoops_version.php:
Terminal window php -l modules/mymodule/xoops_version.php
Kesalahan Kompilasi template
Section titled “Kesalahan Kompilasi template”Gejala: Kesalahan Smarty, template tidak ditemukan
Solusi:
-
Hapus cache Smarty:
Terminal window rm -rf xoops_data/caches/smarty_cache/*rm -rf xoops_data/caches/smarty_compile/* -
Periksa sintaks template:
{* Correct *}{$variable}{* Incorrect - missing $ *}{variable} -
Verifikasi template yang ada:
Terminal window ls modules/mymodule/templates/ -
Buat ulang template:
- Admin → Sistem → Pemeliharaan → template → Regenerasi
🐛 Teknik Debugging
Section titled “🐛 Teknik Debugging”Aktifkan Mode Debug XOOPS
Section titled “Aktifkan Mode Debug XOOPS”// In mainfile.phpdefine('XOOPS_DEBUG_LEVEL', 2);
// Levels:// 0 = Off// 1 = PHP debug// 2 = PHP + SQL debug// 3 = PHP + SQL + Smarty templatesMenggunakan Ray Debugger
Section titled “Menggunakan Ray Debugger”Ray adalah alat debugging yang luar biasa untuk PHP:
// Install via Composercomposer require spatie/ray --dev
// Usage in your coderay($variable);ray($object)->expand();ray()->measure();
// Database queriesray($sql)->label('Query');Konsol Debug Smarty
Section titled “Konsol Debug Smarty”{* Enable in template *}{debug}
{* Or in PHP *}$xoopsTpl->debugging = true;Pencatatan Kueri Basis Data
Section titled “Pencatatan Kueri Basis Data”// 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";}❓ Pertanyaan yang Sering Diajukan
Section titled “❓ Pertanyaan yang Sering Diajukan”Instalasi
Section titled “Instalasi”Q: Wizard instalasi menampilkan halaman kosong J: Periksa log kesalahan PHP, pastikan PHP memiliki cukup memori, verifikasi izin file.
Q: Tidak dapat menulis ke mainfile.php selama instalasi
J: Tetapkan izin: chmod 666 mainfile.php selama instalasi, lalu chmod 444 setelahnya.
Q: Tabel database tidak dibuat A: Periksa pengguna MySQL memiliki hak istimewa CREATE TABLE, verifikasi database ada.
module
Section titled “module”Q: Halaman admin module kosong A: Hapus cache, periksa admin/menu.php module untuk kesalahan sintaksis.
Q: block module tidak muncul A: Periksa izin block di Admin → block, verifikasi block ditugaskan ke halaman.
Q: Pembaruan module gagal A: Cadangkan basis data, coba pembaruan manual SQL, periksa persyaratan versi.
Q: theme tidak diterapkan dengan benar A: Hapus cache Smarty, periksa keberadaan theme.html, verifikasi izin theme.
Q: CSS khusus tidak dimuat A: Periksa jalur file, hapus cache browser, verifikasi sintaks CSS.Q: Gambar tidak ditampilkan A: Periksa jalur gambar, verifikasi izin folder unggahan.
Performa
Section titled “Performa”T: Situs sangat lambat J: Aktifkan caching, optimalkan database, periksa kueri lambat, aktifkan OpCache.
T: Penggunaan memori tinggi J: Tingkatkan memory_limit, optimalkan kueri besar, terapkan penomoran halaman.
🔧 Perintah Pemeliharaan
Section titled “🔧 Perintah Pemeliharaan”Hapus Semua Cache
Section titled “Hapus Semua 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 cleared!"Optimasi Basis Data
Section titled “Optimasi Basis Data”-- 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 databasePeriksa Integritas File
Section titled “Periksa Integritas File”# Compare against fresh installdiff -r /path/to/xoops /path/to/fresh-xoops🔗 Dokumentasi Terkait
Section titled “🔗 Dokumentasi Terkait”- Memulai
- Praktik Terbaik Keamanan
- Peta Jalan XOOPS 4.0
📚 Sumber Daya Eksternal
Section titled “📚 Sumber Daya Eksternal”#xoops #pemecahan masalah #debugging #faq #errors #solutions