Files
2026-06-10 22:24:32 +07:00

69 lines
3.0 KiB
PHP

<?php
// File diagnostik - HAPUS setelah selesai debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
header('Content-Type: text/plain');
echo "=== PHP INFO ===\n";
echo "PHP Version: " . PHP_VERSION . "\n\n";
echo "=== ENV VARS ===\n";
$databaseUrl = getenv('DATABASE_URL') ?: getenv('MYSQL_URL') ?: '';
$databaseConfig = $databaseUrl ? parse_url($databaseUrl) : [];
$databasePath = isset($databaseConfig['path']) ? ltrim($databaseConfig['path'], '/') : '';
echo "DB_HOST: " . (getenv('DB_HOST') ?: '(not set - will use fallback: localhost)') . "\n";
echo "DB_USER: " . (getenv('DB_USER') ?: '(not set - will use fallback: root)') . "\n";
echo "DB_PASS: " . (getenv('DB_PASS') ? '***set***' : '(not set - will use empty string)') . "\n";
echo "DB_NAME: " . (getenv('DB_NAME') ?: '(not set - will use fallback: webgis_spbu)') . "\n\n";
echo "DB_PORT: " . (getenv('DB_PORT') ?: '(not set - will use fallback: 3306)') . "\n\n";
echo "DATABASE_URL / MYSQL_URL: " . ($databaseUrl ? '***set***' : '(not set)') . "\n";
echo "Parsed URL host: " . ($databaseConfig['host'] ?? '(none)') . "\n\n";
echo "=== KONEKSI TEST ===\n";
define('DB_HOST', getenv('DB_HOST') ?: getenv('MYSQL_HOST') ?: ($databaseConfig['host'] ?? 'localhost'));
define('DB_USER', getenv('DB_USER') ?: getenv('MYSQL_USER') ?: ($databaseConfig['user'] ?? 'root'));
define('DB_PASS', getenv('DB_PASS') ?: getenv('MYSQL_PASSWORD') ?: getenv('MYSQL_ROOT_PASSWORD') ?: ($databaseConfig['pass'] ?? ''));
define('DB_NAME', getenv('DB_NAME') ?: getenv('MYSQL_DATABASE') ?: ($databasePath ?: 'webgis_spbu'));
define('DB_PORT', (int) (getenv('DB_PORT') ?: getenv('MYSQL_PORT') ?: ($databaseConfig['port'] ?? 3306)));
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
$conn->set_charset('utf8mb4');
echo "KONEKSI: BERHASIL!\n";
echo "Host: " . DB_HOST . "\n";
echo "Database: " . DB_NAME . "\n";
echo "User: " . DB_USER . "\n\n";
echo "=== CEK TABEL ===\n";
$tables = ['users', 'spbu', 'rumah_ibadah', 'penduduk_miskin'];
$tableExists = [];
foreach ($tables as $table) {
$result = $conn->query("SHOW TABLES LIKE '$table'");
$exists = $result->num_rows > 0;
$tableExists[$table] = $exists;
echo "Tabel '$table': " . ($exists ? "ADA" : "TIDAK ADA") . "\n";
}
echo "\n=== CEK USER ADMIN ===\n";
if (!$tableExists['users']) {
echo "Tabel users belum ada. Jalankan: php scripts/init_db.php\n";
} else {
$result = $conn->query("SELECT username, created_at FROM users LIMIT 5");
if ($result && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "User: " . $row['username'] . " | Dibuat: " . $row['created_at'] . "\n";
}
} else {
echo "Tabel users kosong - belum ada user!\n";
}
}
} catch (mysqli_sql_exception $e) {
echo "KONEKSI GAGAL!\n";
echo "Error: " . $e->getMessage() . "\n";
echo "Host dicoba: " . DB_HOST . "\n";
}