Усунення несправностей
Рішення типових проблем і методи налагодження для XOOPS CMS.
📋 Швидка діагностика
Section titled “📋 Швидка діагностика”Перш ніж заглиблюватися в конкретні проблеми, перевірте ці поширені причини:
- Дозволи на файли – для каталогів потрібно 755, для файлів – 644
- PHP Версія - Переконайтеся, що PHP 7.4+ (рекомендується 8.x)
- Журнали помилок - Перевірте журнали помилок
xoops_data/logs/і PHP - Кеш - очистіть кеш у Адміністраторі → Система → Технічне обслуговування
🗂️ Зміст розділу
Section titled “🗂️ Зміст розділу”Поширені проблеми
Section titled “Поширені проблеми”- Білий екран смерті (WSOD)
- Помилки підключення до бази даних
- Помилки дозволу заборонено
- Помилки встановлення модуля
- Помилки компіляції шаблону
- Встановлення FAQ
- Модуль FAQ
- Тема FAQ
- Продуктивність FAQ
Налагодження
Section titled “Налагодження”- Увімкнення режиму налагодження
- Використання Ray Debugger — Налагодження запитів до бази даних — Налагодження шаблону Smarty
🚨 Поширені проблеми та рішення
Section titled “🚨 Поширені проблеми та рішення”Білий екран смерті (WSOD)
Section titled “Білий екран смерті (WSOD)”Симптоми: Порожня біла сторінка, повідомлення про помилку відсутнє
Рішення:
- Тимчасово ввімкнути відображення помилок PHP:
// Add to mainfile.php temporarily error_reporting(E_ALL); ini_set('display_errors', 1);- Перевірити журнал помилок PHP:
tail -f /var/log/php/error.log-
Поширені причини:
- Перевищено ліміт пам’яті
- Фатальна PHP синтаксична помилка
- Відсутнє необхідне розширення
-
Виправити проблеми з пам’яттю:
// In mainfile.php or php.ini ini_set('memory_limit', '256M');Помилки підключення до бази даних
Section titled “Помилки підключення до бази даних”Симптоми: «Не вдається підключитися до бази даних» або подібне
Рішення:
- Перевірте облікові дані в 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');- Перевірте з’єднання вручну:
<?php $conn = new mysqli('localhost', 'user', 'pass', 'database'); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully";- Перевірте службу MySQL:
sudo systemctl status mysql sudo systemctl restart mysql- Перевірте дозволи користувача:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost'; FLUSH PRIVILEGES;Помилки дозволу заборонено
Section titled “Помилки дозволу заборонено”Симптоми: Неможливо завантажити файли, неможливо зберегти налаштування
Рішення:
- Установіть правильні дозволи:
# 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/- Установіть правильне право власності:
chown -R www-data:www-data /path/to/xoops- Перевірте SELinux (CentOS/RHEL):
# Check status sestatus
# Allow httpd to write setsebool -P httpd_unified 1Помилки встановлення модуля
Section titled “Помилки встановлення модуля”Симптоми: Модуль не встановлюється, SQL помилок
Рішення:
-
Перевірте вимоги до модуля:
- Сумісність версії PHP
- Необхідні розширення PHP
- Сумісність версії XOOPS
-
Ручне встановлення SQL:
mysql -u user -p database < modules/mymodule/sql/mysql.sql- Очистити кеш модуля:
// In xoops_data/caches/ rm -rf xoops_cache/* rm -rf smarty_cache/* rm -rf smarty_compile/*- Перевірте xoops_version.php syntax:
php -l modules/mymodule/xoops_version.phpПомилки компіляції шаблону
Section titled “Помилки компіляції шаблону”Симптоми: помилки Smarty, шаблон не знайдено
Рішення:
- Очистити кеш Smarty:
rm -rf xoops_data/caches/smarty_cache/* rm -rf xoops_data/caches/smarty_compile/*- Перевірте синтаксис шаблону:
{* Correct *} {$variable}
{* Incorrect - missing $ *} {variable}- Перевірте наявність шаблону:
ls modules/mymodule/templates/- Відновити шаблони:
- Адміністратор → Система → Обслуговування → Шаблони → Відновити
🐛 Методи налагодження
Section titled “🐛 Методи налагодження”Увімкнути XOOPS режим налагодження
Section titled “Увімкнути XOOPS режим налагодження”// In mainfile.phpdefine('XOOPS_DEBUG_LEVEL', 2);
// Levels:// 0 = Off// 1 = PHP debug// 2 = PHP + SQL debug// 3 = PHP + SQL + Smarty templatesВикористання Ray Debugger
Section titled “Використання Ray Debugger”Ray є чудовим інструментом налагодження для 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;Журнал запитів до бази даних
Section titled “Журнал запитів до бази даних”// 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";}❓ Часті запитання
Section titled “❓ Часті запитання”Установка
Section titled “Установка”З: Майстер інсталяції показує порожню сторінку A: Перевірте журнали помилок PHP, переконайтеся, що PHP має достатньо пам’яті, перевірте права доступу до файлів.
З: Неможливо записати в основний файл.php during installation
A: Встановіть дозволи: chmod 666 mainfile.php під час встановлення, потім chmod 444 після.
П: таблиці бази даних не створено A: Перевірте, чи має користувач MySQL привілеї CREATE TABLE, перевірте наявність бази даних.
Модулі
Section titled “Модулі”З: Сторінка адміністратора модуля порожня A: Очистіть кеш, перевірте модуль admin/menu.php на наявність синтаксичних помилок.
З: Модульні блоки не відображаються A: Перевірте дозволи на блокування в Адміністратор → Блоки, переконайтеся, що блокування призначено сторінкам.
П: Не вдається оновити модуль A: Створіть резервну копію бази даних, спробуйте вручну SQL оновлення, перевірте вимоги до версії.
З: Тема не застосовується належним чином A: Очистіть кеш Smarty, перевірте наявність theme.html, перевірте дозволи теми.
З: Спеціальний CSS не завантажується A: Перевірте шлях до файлу, очистіть кеш браузера, перевірте синтаксис CSS.
П: Зображення не відображаються A: Перевірте шляхи до зображень, перевірте дозволи папки завантажень.
Продуктивність
Section titled “Продуктивність”З: Сайт дуже повільний A: Увімкніть кешування, оптимізуйте базу даних, перевірте наявність повільних запитів, увімкніть OpCache.
З: Велике використання пам’яті A: Збільште memory_limit, оптимізуйте великі запити, запровадьте розбиття на сторінки.---
🔧 Команди обслуговування
Section titled “🔧 Команди обслуговування”Очистити всі кеші
Section titled “Очистити всі кеші”#!/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!"Оптимізація бази даних
Section titled “Оптимізація бази даних”-- 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Перевірте цілісність файлу
Section titled “Перевірте цілісність файлу”# Compare against fresh installdiff -r /path/to/xoops /path/to/fresh-xoops🔗 Пов’язана документація
Section titled “🔗 Пов’язана документація”- Початок роботи
- Найкращі методи безпеки
- XOOPS 4.0 Дорожня карта
📚 Зовнішні ресурси
Section titled “📚 Зовнішні ресурси”#XOOPS #усунення несправностей #debugging #faq #errors #solutions