Update: 2026-05-14 19:54:11
This commit is contained in:
@@ -1,13 +1,43 @@
|
|||||||
<?php
|
<?php
|
||||||
// backend/config/db.php
|
// backend/config/db.php
|
||||||
|
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
|
||||||
require_once __DIR__ . '/../vendor/autoload.php';
|
require_once __DIR__ . '/../vendor/autoload.php';
|
||||||
|
|
||||||
use Dotenv\Dotenv;
|
use Dotenv\Dotenv;
|
||||||
|
|
||||||
// Load environment variables from .env (located one level above the project root)
|
// Try to load .env from multiple possible locations
|
||||||
$dotenv = Dotenv::createImmutable(__DIR__ . '/../../../..');
|
$envLoaded = false;
|
||||||
$dotenv->load();
|
$searchPaths = [
|
||||||
|
__DIR__ . '/../..', // jordan_bot/
|
||||||
|
__DIR__ . '/../../..', // lawer.tripz-egypt.com/
|
||||||
|
__DIR__ . '/../../../..', // htdocs/
|
||||||
|
__DIR__ . '/../../../../..', // home directory
|
||||||
|
posix_getpwuid(posix_getuid())['dir'] ?? '', // PHP-detected home dir
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($searchPaths as $path) {
|
||||||
|
if (!empty($path) && file_exists($path . '/.env')) {
|
||||||
|
try {
|
||||||
|
$dotenv = Dotenv::createImmutable($path);
|
||||||
|
$dotenv->load();
|
||||||
|
$envLoaded = true;
|
||||||
|
break;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
// Try next path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$envLoaded) {
|
||||||
|
http_response_code(500);
|
||||||
|
echo json_encode([
|
||||||
|
'success' => false,
|
||||||
|
'message' => '.env file not found. Searched paths: ' . implode(', ', array_filter($searchPaths))
|
||||||
|
]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
$host = $_ENV['DB_HOST'] ?? 'localhost';
|
$host = $_ENV['DB_HOST'] ?? 'localhost';
|
||||||
$dbname = $_ENV['DB_NAME'] ?? 'jordan_bot_db';
|
$dbname = $_ENV['DB_NAME'] ?? 'jordan_bot_db';
|
||||||
@@ -19,7 +49,6 @@ try {
|
|||||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||||
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
||||||
} catch (PDOException $e) {
|
} catch (PDOException $e) {
|
||||||
// In production, you should log this error and show a generic message
|
|
||||||
http_response_code(500);
|
http_response_code(500);
|
||||||
echo json_encode(['success' => false, 'message' => 'Database connection failed: ' . $e->getMessage()]);
|
echo json_encode(['success' => false, 'message' => 'Database connection failed: ' . $e->getMessage()]);
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
Reference in New Issue
Block a user