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