feat: support root database connection fallback and align env vars
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 [
|
||||
|
||||
Reference in New Issue
Block a user