İçeriğe geç

Sorun giderme

XOOPS CMS için sık karşılaşılan sorunların çözümleri ve hata ayıklama teknikleri.


Belirli sorunlara dalmadan önce şu yaygın nedenleri kontrol edin:

  1. Dosya İzinleri - Dizinlerin 755’e, dosyaların ise 644’e ihtiyacı vardır
  2. PHP Sürüm - PHP 7.4+ (8.x önerilir) olduğundan emin olun
  3. Hata Günlükleri - xoops_data/logs/ ve PHP hata günlüklerini kontrol edin
  4. cache - Yönetici → Sistem → Bakım’da önbelleği temizleyin

  • Ölümün Beyaz Ekranı (WSOD)
  • database Bağlantı Hataları
  • İzin Reddedildi Hataları
  • module Kurulum Hataları
  • template Derleme Hataları
  • Kurulum FAQ
  • module FAQ
  • theme FAQ
  • Performans FAQ
  • Hata Ayıklama Modunu Etkinleştirme
  • Ray Hata Ayıklayıcısını Kullanma
  • database Sorgulama Hata Ayıklama
  • Smarty template Hata Ayıklama

Belirtiler: Boş beyaz sayfa, hata mesajı yok

Çözümler:

  1. ** PHP hata ekranını geçici olarak etkinleştirin:**
// Add to mainfile.php temporarily
error_reporting(E_ALL);
ini_set('display_errors', 1);
  1. PHP hata günlüğünü kontrol edin:
Terminal window
tail -f /var/log/php/error.log
  1. Genel nedenler:

    • Bellek sınırı aşıldı
    • Önemli PHP sözdizimi hatası
    • Gerekli uzantı eksik
  2. Bellek sorunlarını düzeltin:

// In mainfile.php or php.ini
ini_set('memory_limit', '256M');

Belirtiler: “Veritabanına bağlanılamıyor” veya benzeri

Çözümler:

  1. Mainfile.php dosyasındaki kimlik bilgilerini doğrulayın:
define('XOOPS_DB_HOST', 'localhost');
define('XOOPS_DB_USER', 'your_username');
define('XOOPS_DB_PASS', 'your_password');
define('XOOPS_DB_NAME', 'your_database');
  1. Bağlantıyı manuel olarak test edin:
<?php
$conn = new mysqli('localhost', 'user', 'pass', 'database');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
  1. MySQL hizmetini kontrol edin:
Terminal window
sudo systemctl status mysql
sudo systemctl restart mysql
  1. user izinlerini doğrulayın:
GRANT ALL PRIVILEGES ON xoops.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

Belirtiler: Dosyalar yüklenemiyor, ayarlar kaydedilemiyor

Çözümler:

  1. Doğru izinleri ayarlayın:
Terminal window
# 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/
  1. Doğru sahipliği ayarlayın:
Terminal window
chown -R www-data:www-data /path/to/xoops
  1. SELinux’u kontrol edin (CentOS/RHEL):
Terminal window
# Check status
sestatus
# Allow httpd to write
setsebool -P httpd_unified 1

Belirtiler: module yüklenmiyor, SQL hataları

Çözümler:

  1. module gereksinimlerini kontrol edin:

    • PHP sürüm uyumluluğu
    • Gerekli PHP uzantıları
    • XOOPS sürüm uyumluluğu
  2. Manuel SQL kurulumu:

Terminal window
mysql -u user -p database < modules/mymodule/sql/mysql.sql
  1. module önbelleğini temizleyin:
// In xoops_data/caches/
rm -rf xoops_cache/*
rm -rf smarty_cache/*
rm -rf smarty_compile/*
  1. xoops_version.php sözdizimini kontrol edin:
Terminal window
php -l modules/mymodule/xoops_version.php

Belirtiler: Smarty hatalar, template bulunamadı

Çözümler:

  1. Smarty önbelleğini temizleyin:
Terminal window
rm -rf xoops_data/caches/smarty_cache/*
rm -rf xoops_data/caches/smarty_compile/*
  1. template sözdizimini kontrol edin:
{* Correct *}
{$variable}
{* Incorrect - missing $ *}
{variable}
  1. Şablonun mevcut olduğunu doğrulayın:
Terminal window
ls modules/mymodule/templates/
  1. Şablonları yeniden oluşturun:
    • Yönetici → Sistem → Bakım → templates → Yeniden Oluştur

// In mainfile.php
define('XOOPS_DEBUG_LEVEL', 2);
// Levels:
// 0 = Off
// 1 = PHP debug
// 2 = PHP + SQL debug
// 3 = PHP + SQL + Smarty templates

Ray, PHP için mükemmel bir hata ayıklama aracıdır:

// Install via Composer
composer require spatie/ray --dev
// Usage in your code
ray($variable);
ray($object)->expand();
ray()->measure();
// Database queries
ray($sql)->label('Query');
{* Enable in template *}
{debug}
{* Or in PHP *}
$xoopsTpl->debugging = true;
// 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";
}

S: Kurulum sihirbazı boş sayfa gösteriyor C: PHP hata günlüklerini kontrol edin, PHP’nin yeterli belleğe sahip olduğundan emin olun, dosya izinlerini doğrulayın.

S: Kurulum sırasında mainfile.php dosyasına yazılamıyor C: İzinleri ayarlayın: kurulum sırasında chmod 666 mainfile.php, ardından chmod 444.

S: database tabloları oluşturulmadı C: MySQL kullanıcısının CREATE TABLE ayrıcalıklarına sahip olup olmadığını kontrol edin, veritabanının mevcut olduğunu doğrulayın.

S: module yönetici sayfası boş C: Önbelleği temizleyin, modülün admin/menu.php’sinde sözdizimi hataları olup olmadığını kontrol edin.

S: module blokları gösterilmiyor C: Yönetici → Bloklar bölümünde engelleme izinlerini kontrol edin, bloğun sayfalara atandığını doğrulayın.

S: module güncellemesi başarısız oluyor C: Veritabanını yedekleyin, manuel SQL güncellemelerini deneyin, sürüm gereksinimlerini kontrol edin.

S: theme doğru şekilde uygulanmıyor C: Smarty önbelleğini temizleyin, theme.html’nin var olup olmadığını kontrol edin, theme izinlerini doğrulayın.

S: Özel CSS yüklenmiyor C: Dosya yolunu kontrol edin, tarayıcı önbelleğini temizleyin, CSS sözdizimini doğrulayın.

S: Resimler görüntülenmiyor C: Resim yollarını kontrol edin, yükleme klasörü izinlerini doğrulayın.

S: Site çok yavaş C: Önbelleğe almayı etkinleştirin, veritabanını optimize edin, yavaş sorguları kontrol edin, OpCache’i etkinleştirin.

S: Yüksek bellek kullanımı C: Memory_limit’i artırın, büyük sorguları optimize edin, sayfalandırmayı uygulayın.


clear_cache.sh
#!/bin/bash
rm -rf xoops_data/caches/xoops_cache/*
rm -rf xoops_data/caches/smarty_cache/*
rm -rf xoops_data/caches/smarty_compile/*
echo "Cache cleared!"
-- Optimize all tables
OPTIMIZE TABLE xoops_config;
OPTIMIZE TABLE xoops_users;
OPTIMIZE TABLE xoops_session;
-- Repeat for other tables
-- Or optimize all at once
mysqlcheck -o -u user -p database
Terminal window
# Compare against fresh install
diff -r /path/to/xoops /path/to/fresh-xoops

  • Başlarken
  • En İyi Güvenlik Uygulamaları
  • XOOPS 4.0 Yol Haritası


#xoops #sorun giderme #hata ayıklama #sss #hatalar #çözümler