|
|
@@ -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>
|