שגיאות חיבור למסד נתונים
שגיאות חיבור למסד נתונים הן בין הבעיות הנפוצות ביותר בהתקנות XOOPS. מדריך זה מספק שלבי פתרון בעיות שיטתיים לזיהוי ופתרון בעיות חיבור.
הודעות שגיאה נפוצות
Section titled “הודעות שגיאה נפוצות””לא ניתן להתחבר לשרת MySQL”
Section titled “”לא ניתן להתחבר לשרת MySQL””Error: Can't connect to MySQL server on 'localhost' (111)שגיאה זו מציינת בדרך כלל ששרת MySQL אינו פועל או אינו נגיש.
”הגישה נדחתה למשתמש”
Section titled “”הגישה נדחתה למשתמש””Error: Access denied for user 'xoops_user'@'localhost' (using password: YES)זה מצביע על אישורי מסד נתונים שגויים בתצורה שלך.
”בסיס נתונים לא ידוע”
Section titled “”בסיס נתונים לא ידוע””Error: Unknown database 'xoops_db'מסד הנתונים שצוין אינו קיים בשרת MySQL.
קבצי תצורה
Section titled “קבצי תצורה”XOOPS מיקום תצורה
Section titled “XOOPS מיקום תצורה”קובץ התצורה הראשי נמצא בכתובת:
/mainfile.phpהגדרות מפתח של מסד נתונים:
// Database Configurationdefine('XOOPS_DB_TYPE', 'mysqli');define('XOOPS_DB_HOST', 'localhost');define('XOOPS_DB_PORT', '3306');define('XOOPS_DB_USER', 'xoops_user');define('XOOPS_DB_PASS', 'your_password');define('XOOPS_DB_NAME', 'xoops_db');define('XOOPS_DB_PREFIX', 'xoops_');שלבי פתרון בעיות
Section titled “שלבי פתרון בעיות”שלב 1: ודא שהשירות MySQL פועל
Section titled “שלב 1: ודא שהשירות MySQL פועל”ב-Linux/Unix
Section titled “ב-Linux/Unix”# Check if MySQL is runningsudo systemctl status mysql
# Start MySQL if not runningsudo systemctl start mysql
# Restart MySQLsudo systemctl restart mysqlשלב 2: בדוק MySQL קישוריות
Section titled “שלב 2: בדוק MySQL קישוריות”באמצעות שורת הפקודה
Section titled “באמצעות שורת הפקודה”# Test connection with credentialsmysql -h localhost -u xoops_user -p xoops_db
# If prompted for password, enter it# Success shows: mysql>
# Exit MySQLmysql> EXIT;שלב 3: אמת את אישורי מסד הנתונים
Section titled “שלב 3: אמת את אישורי מסד הנתונים”בדוק את XOOPS תצורה
Section titled “בדוק את XOOPS תצורה”// In mainfile.php, verify these constants:echo "Host: " . XOOPS_DB_HOST . "\n";echo "User: " . XOOPS_DB_USER . "\n";echo "Port: " . XOOPS_DB_PORT . "\n";echo "Database: " . XOOPS_DB_NAME . "\n";שלב 4: ודא שבסיס הנתונים קיים
Section titled “שלב 4: ודא שבסיס הנתונים קיים”# Connect to MySQLmysql -u root -p
# List all databasesSHOW DATABASES;
# Check for your databaseSHOW DATABASES LIKE 'xoops_db';
# If not found, create itCREATE DATABASE xoops_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# ExitEXIT;שלב 5: בדוק את הרשאות המשתמש
Section titled “שלב 5: בדוק את הרשאות המשתמש”# Connect as rootmysql -u root -p
# Check user privilegesSHOW GRANTS FOR 'xoops_user'@'localhost';
# Grant all privileges if neededGRANT ALL PRIVILEGES ON xoops_db.* TO 'xoops_user'@'localhost';
# Reload privilegesFLUSH PRIVILEGES;בעיות ופתרונות נפוצים
Section titled “בעיות ופתרונות נפוצים”גיליון 1: MySQL לא פועל
Section titled “גיליון 1: MySQL לא פועל”סימפטומים:
- שגיאה סירבה לחיבור
- לא מצליח להתחבר ל-localhost
פתרונות:
# Linux: Check and start MySQLsudo systemctl status mysqlsudo systemctl start mysqlבעיה 2: אישורים שגויים
Section titled “בעיה 2: אישורים שגויים”סימפטומים:
- שגיאת “הגישה נדחתה”.
- “באמצעות סיסמה: YES” או “באמצעות סיסמה: לא”
פתרונות:
# Reset password (as root)mysql -u root -p
# Change user passwordALTER USER 'xoops_user'@'localhost' IDENTIFIED BY 'new_password';
# Update mainfile.phpdefine('XOOPS_DB_PASS', 'new_password');בעיה 3: מסד נתונים לא נוצר
Section titled “בעיה 3: מסד נתונים לא נוצר”סימפטומים:
- שגיאת “מסד נתונים לא ידוע”.
- ההתקנה נכשלה ביצירת מסד הנתונים
פתרונות:
# Check if database existsmysql -u root -p -e "SHOW DATABASES;"
# Create database if missingmysql -u root -p -e "CREATE DATABASE xoops_db CHARACTER SET utf8mb4;"סקריפט אבחון
Section titled “סקריפט אבחון”צור סקריפט אבחון מקיף:
<?phpecho "=== XOOPS Database Diagnostic ===\n\n";
// Check constants definedecho "1. Configuration Check:\n";echo " Host: " . (defined('XOOPS_DB_HOST') ? XOOPS_DB_HOST : "NOT DEFINED") . "\n";echo " User: " . (defined('XOOPS_DB_USER') ? XOOPS_DB_USER : "NOT DEFINED") . "\n";echo " Database: " . (defined('XOOPS_DB_NAME') ? XOOPS_DB_NAME : "NOT DEFINED") . "\n\n";
// Check PHP MySQL extensionecho "2. Extension Check:\n";echo " MySQLi: " . (extension_loaded('mysqli') ? "YES" : "NO") . "\n\n";
// Test connectionecho "3. Connection Test:\n";try { $conn = new mysqli( XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS, XOOPS_DB_NAME, XOOPS_DB_PORT );
if ($conn->connect_error) { echo " FAILED: " . $conn->connect_error . "\n"; } else { echo " SUCCESS: Connected to MySQL\n"; echo " Server Info: " . $conn->get_server_info() . "\n"; $conn->close(); }} catch (Exception $e) { echo " EXCEPTION: " . $e->getMessage() . "\n";}
echo "\n=== End Diagnostic ===\n";?>תיעוד קשור
Section titled “תיעוד קשור”- לבן-מסך-מוות - פתרון בעיות נפוץ WSOD
- ../../01-Getting-Started/Configuration/Performance-Optimization - כוונון ביצועי מסד נתונים
- ../../06-Publisher-Module/User-Guide/Basic-Configuration - הגדרה ראשונית של XOOPS
- ../../04-API-Reference/Database/XoopsDatabase - מסד נתונים API הפניה
עדכון אחרון: 2026-01-31 חל על: XOOPS 2.5.7+ PHP גרסאות: 7.4+