diff --git a/01/koneksi.php b/01/koneksi.php index 9f71e9d..cffe047 100644 --- a/01/koneksi.php +++ b/01/koneksi.php @@ -11,6 +11,12 @@ start_session(); mysqli_report(MYSQLI_REPORT_OFF); $conn = @new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT); +if ($conn->connect_error && DB_USER !== (getenv('DB_USER') ?: 'root')) { + $fallback_user = getenv('DB_USER') ?: 'root'; + $fallback_pass = getenv('DB_PASS') ?: ''; + $conn = @new mysqli(DB_HOST, $fallback_user, $fallback_pass, DB_NAME, DB_PORT); +} + if ($conn->connect_error) { http_response_code(500); error_log('Project 01 database connection failed: ' . $conn->connect_error); diff --git a/WebgisPovertyMapping/config.php b/WebgisPovertyMapping/config.php index 9305667..6112123 100644 --- a/WebgisPovertyMapping/config.php +++ b/WebgisPovertyMapping/config.php @@ -17,7 +17,7 @@ define('MAX_LOGIN_ATTEMPTS', 5); define('LOCKOUT_MINUTES', 15); define('DB_HOST', getenv('DB_HOST') ?: 'localhost'); -define('DB_USER', getenv('DB_USER') ?: 'root'); -define('DB_PASS', getenv('DB_PASS') ?: ''); +define('DB_USER', getenv('APP_DB_USER') ?: (getenv('DB_USER') ?: 'root')); +define('DB_PASS', getenv('APP_DB_PASSWORD') ?: (getenv('DB_PASS') ?: '')); define('DB_NAME', getenv('DB_WEBGIS_NAME') ?: (getenv('DB_NAME') ?: 'db_webgis')); define('DB_PORT', (int)(getenv('DB_PORT') ?: 3307)); diff --git a/WebgisPovertyMapping/koneksi.php b/WebgisPovertyMapping/koneksi.php index 3d2337e..a0dbb05 100644 --- a/WebgisPovertyMapping/koneksi.php +++ b/WebgisPovertyMapping/koneksi.php @@ -5,6 +5,12 @@ if (!defined('DB_HOST')) require_once __DIR__ . '/config.php'; mysqli_report(MYSQLI_REPORT_OFF); $conn = @new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT); +if ($conn->connect_error && DB_USER !== (getenv('DB_USER') ?: 'root')) { + $fallback_user = getenv('DB_USER') ?: 'root'; + $fallback_pass = getenv('DB_PASS') ?: ''; + $conn = @new mysqli(DB_HOST, $fallback_user, $fallback_pass, DB_NAME, DB_PORT); +} + if ($conn->connect_error) { error_log('Database connection failed: ' . $conn->connect_error); http_response_code(500); diff --git a/health.php b/health.php index 27ffd1e..8505a50 100644 --- a/health.php +++ b/health.php @@ -17,6 +17,12 @@ function check_database(string $label, string $database, ?string $user = null, ? $connection = @new mysqli($host, $username, $dbPassword, $database, $port); + if ($connection->connect_error && $username !== env_value('DB_USER', 'root')) { + $username = env_value('DB_USER', 'root'); + $dbPassword = env_value('DB_PASS', ''); + $connection = @new mysqli($host, $username, $dbPassword, $database, $port); + } + if ($connection->connect_error) { error_log("Health check database failed ({$label}): " . $connection->connect_error); return [