| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <?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>
|