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);
|
mysqli_report(MYSQLI_REPORT_OFF);
|
||||||
$conn = @new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
|
$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) {
|
if ($conn->connect_error) {
|
||||||
http_response_code(500);
|
http_response_code(500);
|
||||||
error_log('Project 01 database connection failed: ' . $conn->connect_error);
|
error_log('Project 01 database connection failed: ' . $conn->connect_error);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ define('MAX_LOGIN_ATTEMPTS', 5);
|
|||||||
define('LOCKOUT_MINUTES', 15);
|
define('LOCKOUT_MINUTES', 15);
|
||||||
|
|
||||||
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
define('DB_HOST', getenv('DB_HOST') ?: 'localhost');
|
||||||
define('DB_USER', getenv('DB_USER') ?: 'root');
|
define('DB_USER', getenv('APP_DB_USER') ?: (getenv('DB_USER') ?: 'root'));
|
||||||
define('DB_PASS', getenv('DB_PASS') ?: '');
|
define('DB_PASS', getenv('APP_DB_PASSWORD') ?: (getenv('DB_PASS') ?: ''));
|
||||||
define('DB_NAME', getenv('DB_WEBGIS_NAME') ?: (getenv('DB_NAME') ?: 'db_webgis'));
|
define('DB_NAME', getenv('DB_WEBGIS_NAME') ?: (getenv('DB_NAME') ?: 'db_webgis'));
|
||||||
define('DB_PORT', (int)(getenv('DB_PORT') ?: 3307));
|
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);
|
mysqli_report(MYSQLI_REPORT_OFF);
|
||||||
$conn = @new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_PORT);
|
$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) {
|
if ($conn->connect_error) {
|
||||||
error_log('Database connection failed: ' . $conn->connect_error);
|
error_log('Database connection failed: ' . $conn->connect_error);
|
||||||
http_response_code(500);
|
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);
|
$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) {
|
if ($connection->connect_error) {
|
||||||
error_log("Health check database failed ({$label}): " . $connection->connect_error);
|
error_log("Health check database failed ({$label}): " . $connection->connect_error);
|
||||||
return [
|
return [
|
||||||
|
|||||||
Reference in New Issue
Block a user