عیب یابی
راه حل های مشکلات رایج و تکنیک های اشکال زدایی XOOPS CMS.
📋 تشخیص سریع
Section titled “📋 تشخیص سریع”قبل از پرداختن به مسائل خاص، این دلایل رایج را بررسی کنید:
- مجوزهای فایل - فهرست ها به 755 و فایل ها به 644 نیاز دارند
- نسخه PHP - از PHP 7.4+ اطمینان حاصل کنید (8.x توصیه می شود)
- گزارش های خطا - گزارش های خطای
xoops_data/logs/و PHP را بررسی کنید - کش - کش را در Admin → System → Maintenance پاک کنید
🗂️ محتویات بخش
Section titled “🗂️ محتویات بخش”مسائل رایج
Section titled “مسائل رایج”- صفحه سفید مرگ (WSOD)
- خطاهای اتصال پایگاه داده
- خطاهای مجوز رد شده
- خرابی های نصب ماژول
- خطاهای کامپایل قالب
سوالات متداول
Section titled “سوالات متداول”- سوالات متداول نصب
- سوالات متداول ماژول
- سوالات متداول تم
- سوالات متداول عملکرد
اشکال زدایی
Section titled “اشکال زدایی”- فعال کردن حالت اشکال زدایی
- استفاده از ری دیباگر
- دیباگ پرس و جو در پایگاه داده
- اشکال زدایی قالب هوشمند
🚨 مسائل و راه حل های رایج
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:
rm -rf xoops_data/caches/smarty_cache/* rm -rf xoops_data/caches/smarty_compile/*- سینتکس الگو را بررسی کنید:
{* Correct *} {$variable}
{* Incorrect - missing $ *} {variable}- تأیید وجود الگو:
ls modules/mymodule/templates/- قالب ها را بازسازی کنید:
- Admin → System → Maintenance → Templates → Regenerate
🐛 تکنیک های اشکال زدایی
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 “❓ سوالات متداول”سؤال: جادوگر نصب صفحه خالی را نشان می دهد پاسخ: گزارش های خطای PHP را بررسی کنید، مطمئن شوید که PHP حافظه کافی دارد، مجوزهای فایل را تأیید کنید.
سؤال: در حین نصب نمی توان به mainfile.php نوشت
A: مجوزها را تنظیم کنید: chmod 666 mainfile.php در حین نصب، سپس chmod 444 بعد از آن.
سؤال: جداول پایگاه داده ایجاد نشد پاسخ: بررسی کنید که کاربر MySQL دارای امتیازات CREATE TABLE است، تأیید کنید که پایگاه داده وجود دارد.
ماژول ها
Section titled “ماژول ها”سؤال: صفحه مدیریت ماژول خالی است A: حافظه پنهان را پاک کنید، admin/menu.php ماژول را برای خطاهای نحوی بررسی کنید.
** س: بلوک های ماژول نشان داده نمی شوند ** پاسخ: مجوزهای بلوک را در Admin → Blocks بررسی کنید، تأیید کنید که بلوک به صفحات اختصاص داده شده است.
سؤال: به روز رسانی ماژول ناموفق بود پاسخ: از پایگاه داده پشتیبان تهیه کنید، بهروزرسانیهای دستی SQL را امتحان کنید، الزامات نسخه را بررسی کنید.
** س: تم به درستی اعمال نمی شود ** پاسخ: حافظه پنهان Smarty را پاک کنید، بررسی کنید theme.html وجود دارد، مجوزهای موضوع را تأیید کنید.
سؤال: CSS سفارشی بارگیری نمی شود A: مسیر فایل را بررسی کنید، حافظه پنهان مرورگر را پاک کنید، نحو CSS را تأیید کنید.سؤال: تصاویر نمایش داده نمی شوند A: مسیرهای تصویر را بررسی کنید، مجوزهای پوشه آپلود را تأیید کنید.
عملکرد
Section titled “عملکرد”سؤال: سایت بسیار کند است پاسخ: کش را فعال کنید، پایگاه داده را بهینه کنید، جستجوهای کند را بررسی کنید، OpCache را فعال کنید.
سؤال: استفاده از حافظه بالا A: حافظه_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 #عیب یابی #اشکال زدایی #FAQ #خطاها #راهکارها