Переглянути джерело

debugging wordpress import

svalavuo 4 днів тому
батько
коміт
a6cc845545
1 змінених файлів з 108 додано та 0 видалено
  1. 108 0
      admin/test_wp_connection.php

+ 108 - 0
admin/test_wp_connection.php

@@ -0,0 +1,108 @@
+<?php
+// Simple test script to debug WordPress connection issues
+error_reporting(E_ALL);
+ini_set('display_errors', 1);
+
+echo "<h1>WordPress Connection Test</h1>";
+
+// Test basic form submission
+if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+    echo "<h2>Form Data Received:</h2>";
+    echo "<pre>" . print_r($_POST, true) . "</pre>";
+    
+    // Test WordPress connection
+    if (!empty($_POST['wp_host']) && !empty($_POST['wp_database']) && !empty($_POST['wp_username'])) {
+        echo "<h2>Testing WordPress Connection...</h2>";
+        
+        try {
+            $wpConfig = [
+                'host' => trim($_POST['wp_host']),
+                'database' => trim($_POST['wp_database']),
+                'username' => trim($_POST['wp_username']),
+                'password' => $_POST['wp_password'] ?? ''
+            ];
+            
+            echo "<p>Config: " . htmlspecialchars($wpConfig['host']) . " / " . htmlspecialchars($wpConfig['database']) . " / " . htmlspecialchars($wpConfig['username']) . "</p>";
+            
+            // Test PDO connection directly
+            $dsn = "mysql:host={$wpConfig['host']};dbname={$wpConfig['database']};charset=utf8mb4";
+            echo "<p>DSN: " . htmlspecialchars($dsn) . "</p>";
+            
+            $options = [
+                PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
+                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+                PDO::ATTR_TIMEOUT => 5
+            ];
+            
+            $pdo = new PDO($dsn, $wpConfig['username'], $wpConfig['password'], $options);
+            echo "<p style='color: green;'>✓ PDO Connection successful!</p>";
+            
+            // Test simple query
+            $result = $pdo->query("SELECT 1 as test");
+            echo "<p>✓ Simple query successful!</p>";
+            
+            // Test WordPress tables
+            $tables = ['wp_posts', 'wp_users', 'wp_terms', 'wp_term_taxonomy', 'wp_term_relationships', 'wp_comments'];
+            $existingTables = [];
+            
+            foreach ($tables as $table) {
+                $stmt = $pdo->query("SHOW TABLES LIKE '$table'");
+                if ($stmt->rowCount() > 0) {
+                    $existingTables[] = $table;
+                    echo "<p style='color: green;'>✓ Found table: $table</p>";
+                } else {
+                    echo "<p style='color: orange;'>⚠ Missing table: $table</p>";
+                }
+            }
+            
+            if (count($existingTables) >= 6) {
+                echo "<h3 style='color: green;'>WordPress database structure verified!</h3>";
+                
+                // Get some stats
+                $stats = [];
+                $stats['posts'] = $pdo->query("SELECT COUNT(*) FROM wp_posts WHERE post_type = 'post'")->fetchColumn();
+                $stats['users'] = $pdo->query("SELECT COUNT(*) FROM wp_users")->fetchColumn();
+                $stats['categories'] = $pdo->query("SELECT COUNT(*) FROM wp_term_taxonomy WHERE taxonomy = 'category'")->fetchColumn();
+                $stats['comments'] = $pdo->query("SELECT COUNT(*) FROM wp_comments")->fetchColumn();
+                
+                echo "<h3>Database Stats:</h3>";
+                echo "<pre>" . print_r($stats, true) . "</pre>";
+            } else {
+                echo "<h3 style='color: red;'>WordPress database structure incomplete!</h3>";
+            }
+            
+        } catch (PDOException $e) {
+            echo "<p style='color: red;'>✗ PDO Error: " . htmlspecialchars($e->getMessage()) . "</p>";
+        } catch (Exception $e) {
+            echo "<p style='color: red;'>✗ Error: " . htmlspecialchars($e->getMessage()) . "</p>";
+        }
+    }
+} else {
+    echo "<p>Please submit the form to test connection.</p>";
+}
+?>
+
+<h2>Test Form:</h2>
+<form method="post">
+    <div style="margin-bottom: 10px;">
+        <label>Host: <input type="text" name="wp_host" value="localhost" required></label>
+    </div>
+    <div style="margin-bottom: 10px;">
+        <label>Database: <input type="text" name="wp_database" value="wordpress" required></label>
+    </div>
+    <div style="margin-bottom: 10px;">
+        <label>Username: <input type="text" name="wp_username" value="wp_user" required></label>
+    </div>
+    <div style="margin-bottom: 10px;">
+        <label>Password: <input type="password" name="wp_password"></label>
+    </div>
+    <div style="margin-bottom: 10px;">
+        <input type="submit" value="Test Connection">
+    </div>
+</form>
+
+<h2>PHP Info:</h2>
+<p>PDO Support: <?php echo extension_loaded('pdo') ? 'Yes' : 'No'; ?></p>
+<p>PDO MySQL Support: <?php echo extension_loaded('pdo_mysql') ? 'Yes' : 'No'; ?></p>
+<p>Memory Limit: <?php echo ini_get('memory_limit'); ?></p>
+<p>Max Execution Time: <?php echo ini_get('max_execution_time'); ?> seconds</p>