From 1aaa20afa96ef8b46e2b6ac55e478044d2d9a67b Mon Sep 17 00:00:00 2001 From: z0rayy Date: Wed, 10 Jun 2026 20:37:36 +0700 Subject: [PATCH] . --- backend/koneksi.php | 14 +++++++++----- debug_db.php | 16 +++++++++++----- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/backend/koneksi.php b/backend/koneksi.php index 1380299..264b6bc 100644 --- a/backend/koneksi.php +++ b/backend/koneksi.php @@ -3,11 +3,15 @@ // koneksi.php — Konfigurasi Database // ============================================ -define('DB_HOST', getenv('DB_HOST') ?: getenv('MYSQL_HOST') ?: 'localhost'); -define('DB_USER', getenv('DB_USER') ?: getenv('MYSQL_USER') ?: 'root'); -define('DB_PASS', getenv('DB_PASS') ?: getenv('MYSQL_PASSWORD') ?: getenv('MYSQL_ROOT_PASSWORD') ?: ''); -define('DB_NAME', getenv('DB_NAME') ?: getenv('MYSQL_DATABASE') ?: 'webgis_spbu'); -define('DB_PORT', (int) (getenv('DB_PORT') ?: getenv('MYSQL_PORT') ?: 3306)); +$databaseUrl = getenv('DATABASE_URL') ?: getenv('MYSQL_URL') ?: ''; +$databaseConfig = $databaseUrl ? parse_url($databaseUrl) : []; +$databasePath = isset($databaseConfig['path']) ? ltrim($databaseConfig['path'], '/') : ''; + +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))); // Mengaktifkan exception untuk mysqli agar error bisa ditangkap dengan try-catch mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); diff --git a/debug_db.php b/debug_db.php index 3579520..67c4091 100644 --- a/debug_db.php +++ b/debug_db.php @@ -8,18 +8,24 @@ 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') ?: 'localhost'); -define('DB_USER', getenv('DB_USER') ?: getenv('MYSQL_USER') ?: 'root'); -define('DB_PASS', getenv('DB_PASS') ?: getenv('MYSQL_PASSWORD') ?: getenv('MYSQL_ROOT_PASSWORD') ?: ''); -define('DB_NAME', getenv('DB_NAME') ?: getenv('MYSQL_DATABASE') ?: 'webgis_spbu'); -define('DB_PORT', (int) (getenv('DB_PORT') ?: getenv('MYSQL_PORT') ?: 3306)); +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);