Files
gtsit/config/database.php
2026-08-10 21:19:10 +09:00

37 lines
953 B
PHP

<?php
declare(strict_types=1);
$candidates = array_filter([
getenv('GTSIT_DB_ENV') ?: null,
dirname(__DIR__) . '/.secrets/db.env',
'/home/hosting_users/gts0201/.gtsit-db.env',
]);
$values = [];
foreach ($candidates as $candidate) {
if (!is_readable($candidate)) {
continue;
}
foreach (file($candidate, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) ?: [] as $line) {
$line = trim($line);
if ($line === '' || str_starts_with($line, '#') || !str_contains($line, '=')) {
continue;
}
[$key, $value] = array_map('trim', explode('=', $line, 2));
$values[$key] = trim($value, "\"'");
}
break;
}
return [
'host' => $values['DB_HOST'] ?? 'localhost',
'port' => (int) ($values['DB_PORT'] ?? 3306),
'name' => $values['DB_NAME'] ?? '',
'user' => $values['DB_USER'] ?? '',
'password' => $values['DB_PASSWORD'] ?? '',
'charset' => 'utf8mb4',
];