Quellcode durchsuchen

Debug Main import

svalavuo vor 4 Tagen
Ursprung
Commit
e5517ab73e
4 geänderte Dateien mit 125 neuen und 272 gelöschten Zeilen
  1. 0 95
      admin/debug_ajax.php
  2. 125 0
      admin/debug_main_import.php
  3. 0 69
      admin/minimal_test.php
  4. 0 108
      admin/test_wp_connection.php

+ 0 - 95
admin/debug_ajax.php

@@ -1,95 +0,0 @@
-<?php
-// Debug script to identify 500 error causes
-error_reporting(E_ALL);
-ini_set('display_errors', 1);
-ini_set('log_errors', 1);
-
-echo "<h1>AJAX Debug - Step by Step</h1>";
-
-// Test 1: Basic PHP
-echo "<p>✓ PHP is working</p>";
-
-// Test 2: Include config
-try {
-    require_once '../includes/config.php';
-    echo "<p>✓ Config included</p>";
-} catch (Exception $e) {
-    echo "<p>✗ Config error: " . $e->getMessage() . "</p>";
-    exit;
-}
-
-// Test 3: Include database
-try {
-    require_once '../includes/database.php';
-    echo "<p>✓ Database included</p>";
-} catch (Exception $e) {
-    echo "<p>✗ Database error: " . $e->getMessage() . "</p>";
-    exit;
-}
-
-// Test 4: Check Database class
-if (class_exists('Database')) {
-    echo "<p>✓ Database class exists</p>";
-} else {
-    echo "<p>✗ Database class not found</p>";
-    exit;
-}
-
-// Test 5: Get Database instance
-try {
-    $db = Database::getInstance();
-    echo "<p>✓ Database instance created</p>";
-} catch (Exception $e) {
-    echo "<p>✗ Database instance error: " . $e->getMessage() . "</p>";
-    exit;
-}
-
-// Test 6: Include WordPress import
-try {
-    require_once '../includes/wordpress_import.php';
-    echo "<p>✓ WordPress import included</p>";
-} catch (Exception $e) {
-    echo "<p>✗ WordPress import error: " . $e->getMessage() . "</p>";
-    exit;
-}
-
-// Test 7: Check WordPressImport class
-if (class_exists('WordPressImport')) {
-    echo "<p>✓ WordPressImport class exists</p>";
-} else {
-    echo "<p>✗ WordPressImport class not found</p>";
-    exit;
-}
-
-// Test 8: Create WordPressImport instance
-try {
-    $wpConfig = [
-        'host' => '10.15.10.8',
-        'database' => 'valtsu_valtsu',
-        'username' => 'root',
-        'password' => 'jotainaivanmuuta'
-    ];
-    
-    $importer = new WordPressImport($wpConfig);
-    echo "<p>✓ WordPressImport instance created</p>";
-} catch (Exception $e) {
-    echo "<p>✗ WordPressImport creation error: " . $e->getMessage() . "</p>";
-    echo "<p>File: " . $e->getFile() . "</p>";
-    echo "<p>Line: " . $e->getLine() . "</p>";
-    exit;
-}
-
-// Test 9: Test connection
-try {
-    $result = $importer->testConnection();
-    echo "<p>✓ Connection test completed</p>";
-    echo "<pre>" . print_r($result, true) . "</pre>";
-} catch (Exception $e) {
-    echo "<p>✗ Connection test error: " . $e->getMessage() . "</p>";
-    echo "<p>File: " . $e->getFile() . "</p>";
-    echo "<p>Line: " . $e->getLine() . "</p>";
-    exit;
-}
-
-echo "<h2>All tests completed!</h2>";
-?>

+ 125 - 0
admin/debug_main_import.php

@@ -0,0 +1,125 @@
+<?php
+// Debug script to test main wordpress_import.php hanging issue
+error_reporting(E_ALL);
+ini_set('display_errors', 1);
+ini_set('max_execution_time', 30);
+ini_set('memory_limit', '256M');
+
+echo "<h1>Debug Main WordPress Import</h1>";
+
+// Test 1: Basic PHP and includes
+echo "<p>Step 1: Testing includes...</p>";
+
+try {
+    require_once '../includes/config.php';
+    echo "<p>✓ Config included</p>";
+} catch (Exception $e) {
+    echo "<p>✗ Config error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+try {
+    require_once '../includes/database.php';
+    echo "<p>✓ Database included</p>";
+} catch (Exception $e) {
+    echo "<p>✗ Database error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+try {
+    require_once '../includes/auth.php';
+    echo "<p>✓ Auth included</p>";
+} catch (Exception $e) {
+    echo "<p>✗ Auth error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+try {
+    require_once '../includes/translation.php';
+    echo "<p>✓ Translation included</p>";
+} catch (Exception $e) {
+    echo "<p>✗ Translation error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+try {
+    require_once '../includes/wordpress_import.php';
+    echo "<p>✓ WordPressImport included</p>";
+} catch (Exception $e) {
+    echo "<p>✗ WordPressImport error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+// Test 2: Auth system
+echo "<p>Step 2: Testing auth system...</p>";
+
+try {
+    $auth = new Auth();
+    echo "<p>✓ Auth instance created</p>";
+    
+    if ($auth->isLoggedIn()) {
+        echo "<p>✓ User is logged in</p>";
+        $user = $auth->getUser();
+        echo "<p>User: " . htmlspecialchars($user['username']) . " (Role: " . $user['role'] . ")</p>";
+    } else {
+        echo "<p>⚠ User not logged in</p>";
+    }
+} catch (Exception $e) {
+    echo "<p>✗ Auth error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+// Test 3: Database connection
+echo "<p>Step 3: Testing database connection...</p>";
+
+try {
+    $db = Database::getInstance();
+    echo "<p>✓ Database instance created</p>";
+    
+    $result = $db->query("SELECT 1 as test");
+    echo "<p>✓ Database query successful</p>";
+} catch (Exception $e) {
+    echo "<p>✗ Database error: " . $e->getMessage() . "</p>";
+    exit;
+}
+
+// Test 4: WordPressImport creation (same as main interface)
+echo "<p>Step 4: Testing WordPressImport creation...</p>";
+
+try {
+    $wpConfig = [
+        'host' => '10.15.10.8',
+        'database' => 'valtsu_valtsu',
+        'username' => 'root',
+        'password' => 'jotainaivanmuuta'
+    ];
+    
+    echo "<p>About to create WordPressImport...</p>";
+    $importer = new WordPressImport($wpConfig);
+    echo "<p>✓ WordPressImport created successfully</p>";
+    
+} catch (Exception $e) {
+    echo "<p>✗ WordPressImport creation error: " . $e->getMessage() . "</p>";
+    echo "<p>File: " . $e->getFile() . "</p>";
+    echo "<p>Line: " . $e->getLine() . "</p>";
+    exit;
+}
+
+// Test 5: Test connection (same as main interface)
+echo "<p>Step 5: Testing WordPress connection...</p>";
+
+try {
+    echo "<p>About to test connection...</p>";
+    $connectionTest = $importer->testConnection();
+    echo "<p>✓ Connection test completed</p>";
+    echo "<pre>" . print_r($connectionTest, true) . "</pre>";
+    
+} catch (Exception $e) {
+    echo "<p>✗ Connection test error: " . $e->getMessage() . "</p>";
+    echo "<p>File: " . $e->getFile() . "</p>";
+    echo "<p>Line: " . $e->getLine() . "</p>";
+    exit;
+}
+
+echo "<h2>All tests completed successfully!</h2>";
+?>

+ 0 - 69
admin/minimal_test.php

@@ -1,69 +0,0 @@
-<?php
-// Minimal test to isolate exact hanging point
-error_reporting(E_ALL);
-ini_set('display_errors', 1);
-ini_set('max_execution_time', 30);
-ini_set('memory_limit', '256M');
-
-echo "<h1>Minimal WordPress Connection Test</h1>";
-echo "<p>PHP Memory: " . ini_get('memory_limit') . "</p>";
-echo "<p>Max Execution: " . ini_get('max_execution_time') . "s</p>";
-echo "<p>Current Time: " . date('H:i:s') . "</p>";
-
-if ($_SERVER['REQUEST_METHOD'] === 'POST') {
-    echo "<h2>Testing Step by Step...</h2>";
-    
-    try {
-        echo "<p>Step 1: Creating DSN...</p>";
-        $host = trim($_POST['wp_host'] ?? 'localhost');
-        $database = trim($_POST['wp_database'] ?? 'wordpress');
-        $username = trim($_POST['wp_username'] ?? 'root');
-        $password = $_POST['wp_password'] ?? '';
-        
-        echo "<p>Host: $host</p>";
-        echo "<p>Database: $database</p>";
-        
-        $dsn = "mysql:host=$host;dbname=$database;charset=utf8mb4";
-        echo "<p>DSN: $dsn</p>";
-        
-        echo "<p>Step 2: Creating PDO object...</p>";
-        $pdo = new PDO($dsn, $username, $password, [
-            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
-            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
-            PDO::ATTR_TIMEOUT => 5,
-            PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4"
-        ]);
-        echo "<p style='color: green;'>✓ PDO created successfully</p>";
-        
-        echo "<p>Step 3: Testing simple query...</p>";
-        $result = $pdo->query("SELECT 1 as test");
-        echo "<p style='color: green;'>✓ Simple query successful</p>";
-        
-        echo "<p>Step 4: Testing WordPress table check...</p>";
-        $tables = $pdo->query("SHOW TABLES LIKE 'wp_%'");
-        echo "<p>Found " . $tables->rowCount() . " WordPress tables</p>";
-        
-        echo "<p>Step 5: Testing COUNT query...</p>";
-        $count = $pdo->query("SELECT COUNT(*) FROM wp_posts")->fetchColumn();
-        echo "<p style='color: green;'>✓ Posts count: $count</p>";
-        
-        echo "<p style='color: green; font-weight: bold;'>ALL TESTS PASSED!</p>";
-        
-    } catch (Exception $e) {
-        echo "<p style='color: red;'>ERROR: " . htmlspecialchars($e->getMessage()) . "</p>";
-        echo "<p>File: " . $e->getFile() . "</p>";
-        echo "<p>Line: " . $e->getLine() . "</p>";
-    }
-} else {
-    ?>
-    <h2>Test WordPress Connection</h2>
-    <form method="post">
-        <p><label>Host: <input type="text" name="wp_host" value="localhost" required></label></p>
-        <p><label>Database: <input type="text" name="wp_database" value="wordpress" required></label></p>
-        <p><label>Username: <input type="text" name="wp_username" value="root" required></label></p>
-        <p><label>Password: <input type="password" name="wp_password"></label></p>
-        <p><input type="submit" value="Test Connection"></p>
-    </form>
-    <?php
-}
-?>

+ 0 - 108
admin/test_wp_connection.php

@@ -1,108 +0,0 @@
-<?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>