Odpravljanje težav
Rešitve pogostih težav in tehnike odpravljanja napak za XOOPS CMS.
📋 Hitra diagnoza
Section titled “📋 Hitra diagnoza”Preden se poglobite v določene težave, preverite te pogoste vzroke:
- Dovoljenja za datoteke - imeniki potrebujejo 755, datoteke potrebujejo 644
- PHP Različica - Zagotovite PHP 7.4+ (priporočeno 8.x)
- Dnevniki napak - Preverite dnevnike napak
xoops_data/logs/in PHP - Predpomnilnik - Počistite predpomnilnik v Skrbnik → Sistem → Vzdrževanje
🗂️ Vsebina razdelka
Section titled “🗂️ Vsebina razdelka”Pogoste težave
Section titled “Pogoste težave”- Beli zaslon smrti (WSOD)
- Napake povezave z bazo podatkov
- Napake zavrnjenega dovoljenja
- Napake pri namestitvi modula
- Napake pri prevajanju predloge
- Namestitev FAQ
- Modul FAQ
- Tema FAQ
- Zmogljivost FAQ
Odpravljanje napak
Section titled “Odpravljanje napak”- Omogočanje načina za odpravljanje napak
- Uporaba Ray Debuggerja
- Razhroščevanje poizvedb v bazi podatkov
- Odpravljanje napak v predlogi Smarty
🚨 Pogoste težave in rešitve
Section titled “🚨 Pogoste težave in rešitve”Beli zaslon smrti (WSOD)
Section titled “Beli zaslon smrti (WSOD)”Simptomi: Prazna bela stran, brez sporočila o napaki
Rešitve:
- Začasno omogočite prikaz napak PHP:
// Add to mainfile.php temporarily error_reporting(E_ALL); ini_set('display_errors', 1);- Preverite PHP dnevnik napak:
tail -f /var/log/php/error.log-
Pogosti vzroki:
- Omejitev pomnilnika je presežena
- Usodna sintaksna napaka PHP
- Manjka zahtevana razširitev
-
Odpravite težave s pomnilnikom:
// In mainfile.php or php.ini ini_set('memory_limit', '256M');Napake povezave z bazo podatkov
Section titled “Napake povezave z bazo podatkov”Simptomi: “Ni mogoče vzpostaviti povezave z bazo podatkov” ali podobno
Rešitve:
- Preverite poverilnice v 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');- Ročno preizkusite povezavo:
<?php $conn = new mysqli('localhost', 'user', 'pass', 'database'); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully";- Preverite storitev MySQL:
sudo systemctl status mysql sudo systemctl restart mysql- Preverite uporabniška dovoljenja:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost'; FLUSH PRIVILEGES;Napake zavrnjenega dovoljenja
Section titled “Napake zavrnjenega dovoljenja”Simptomi: Ni mogoče naložiti datotek, ni mogoče shraniti nastavitev
Rešitve:
- Nastavite pravilna dovoljenja:
# Directories find /path/to/xoops -type d -exec chmod 755 {} \;
# Files find /path/to/xoops -type f -exec chmod 644 {} \;
# Writable directories chmod -R 777 xoops_data/ chmod -R 777 uploads/- Nastavite pravilno lastništvo:
chown -R www-data:www-data /path/to/xoops- Preverite SELinux (CentOS/RHEL):
# Check status sestatus
# Allow httpd to write setsebool -P httpd_unified 1Napake pri namestitvi modula
Section titled “Napake pri namestitvi modula”Simptomi: Modul se ne namesti, SQL napak
Rešitve:
-
Preverite zahteve modula:
- Združljivost različice PHP
- Zahtevane razširitve PHP
- Združljivost različice XOOPS
-
Ročna SQL namestitev:
mysql -u user -p database < modules/mymodule/sql/mysql.sql- Počisti predpomnilnik modula:
// In xoops_data/caches/ rm -rf xoops_cache/* rm -rf smarty_cache/* rm -rf smarty_compile/*- Preverite xoops_version.php syntax:
php -l modules/mymodule/xoops_version.phpNapake pri prevajanju predloge
Section titled “Napake pri prevajanju predloge”Simptomi: Smarty napake, predloge ni mogoče najti
Rešitve:
- Počisti predpomnilnik Smarty:
rm -rf xoops_data/caches/smarty_cache/* rm -rf xoops_data/caches/smarty_compile/*- Preverite sintakso predloge:
{* Correct *} {$variable}
{* Incorrect - missing $ *} {variable}- Preverite, ali predloga obstaja:
ls modules/mymodule/templates/- Ponovno ustvarite predloge:
- Skrbnik → Sistem → Vzdrževanje → Predloge → Ponovno ustvari
🐛 Tehnike odpravljanja napak
Section titled “🐛 Tehnike odpravljanja napak”Omogoči XOOPS način odpravljanja napak
Section titled “Omogoči XOOPS način odpravljanja napak”// In mainfile.phpdefine('XOOPS_DEBUG_LEVEL', 2);
// Levels:// 0 = Off// 1 = PHP debug// 2 = PHP + SQL debug// 3 = PHP + SQL + Smarty templatesUporaba Ray Debuggerja
Section titled “Uporaba Ray Debuggerja”Ray je odlično orodje za odpravljanje napak za 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 Console
Section titled “Smarty Debug Console”{* Enable in template *}{debug}
{* Or in PHP *}$xoopsTpl->debugging = true;Beleženje poizvedb v bazi podatkov
Section titled “Beleženje poizvedb v bazi podatkov”// 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";}❓ Pogosta vprašanja
Section titled “❓ Pogosta vprašanja”Namestitev
Section titled “Namestitev”V: Čarovnik za namestitev prikaže prazno stran O: Preverite dnevnike napak PHP, zagotovite, da ima PHP dovolj pomnilnika, preverite dovoljenja za datoteke.
V: Ne morem pisati v glavno datoteko.php during installation
O: Nastavite dovoljenja: chmod 666 mainfile.php med namestitvijo, nato chmod 444 po njej.
V: Tabele baze podatkov niso ustvarjene O: Preverite, ali ima uporabnik MySQL privilegije CREATE TABLE, preverite, ali baza podatkov obstaja.
Moduli
Section titled “Moduli”V: Skrbniška stran modula je prazna O: Počistite predpomnilnik, preverite modul admin/menu.php za sintaksne napake.
V: Bloki modulov niso prikazani O: Preverite dovoljenja za blokiranje v Skrbnik → Bloki, preverite, ali je blok dodeljen stranem.
V: Posodobitev modula ne uspe O: Varnostno kopirajte bazo podatkov, poskusite z ročnimi posodobitvami SQL, preverite zahteve glede različice.
V: Tema se ne uporablja pravilno O: Počistite predpomnilnik Smarty, preverite, ali theme.html obstaja, preverite dovoljenja za temo.
V: Po meri CSS se ne nalaga O: Preverite pot datoteke, počistite predpomnilnik brskalnika, preverite sintakso CSS.
V: Slike se ne prikažejo O: Preverite poti do slik, preverite dovoljenja mape za nalaganje.
Zmogljivost
Section titled “Zmogljivost”V: Spletno mesto je zelo počasno O: Omogoči predpomnjenje, optimiziraj bazo podatkov, preveri počasne poizvedbe, omogoči OpCache.
V: Velika poraba pomnilnika A: Povečajte memory_limit, optimizirajte velike poizvedbe, implementirajte paginacijo.---
🔧 Ukazi za vzdrževanje
Section titled “🔧 Ukazi za vzdrževanje”Počisti vse predpomnilnike
Section titled “Počisti vse predpomnilnike”#!/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!"Optimizacija baze podatkov
Section titled “Optimizacija baze podatkov”-- 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 databasePreverite celovitost datoteke
Section titled “Preverite celovitost datoteke”# Compare against fresh installdiff -r /path/to/xoops /path/to/fresh-xoops🔗 Povezana dokumentacija
Section titled “🔗 Povezana dokumentacija”- Začetek
- Najboljše varnostne prakse
- XOOPS 4.0 Načrt
📚 Zunanji viri
Section titled “📚 Zunanji viri”#XOOPS #odpravljanje težav #debugging #faq #errors #solutions