fix: InfinityFree 500 error (putenv safety), mobile dark toggle inside side panel

This commit is contained in:
ssbg04 committed 2026-06-05 23:21:17 +08:00
1 parent 9eeb82ed89
commit 4685a6c3a2
4 files changed
+49 -35

No files matched your search

+15 -6
View File
@@ -19,9 +19,17 @@ if (!function_exists('loadEnv')) {
if (count($parts) < 2) continue;
$key = trim($parts[0]);
$value = trim($parts[1]);
// Strip surrounding quotes if present
if (strlen($value) >= 2 && $value[0] === '"' && $value[strlen($value)-1] === '"') {
$value = substr($value, 1, -1);
}
if (!array_key_exists($key, $_ENV)) {
$_ENV[$key] = $value;
putenv("$key=$value");
$_ENV[$key] = $value;
$_SERVER[$key] = $value;
// putenv() may be disabled on some shared hosts (e.g. InfinityFree)
if (function_exists('putenv')) {
putenv("$key=$value");
}
}
}
}
@@ -31,10 +39,11 @@ if (!function_exists('loadEnv')) {
$envPath = __DIR__ . '/../.env';
loadEnv($envPath);
$host = getenv('DB_HOST') ?: ($_ENV['DB_HOST'] ?? '');
$ngalan = getenv('DB_USER') ?: ($_ENV['DB_USER'] ?? '');
$sikreto = getenv('DB_PASS') ?: ($_ENV['DB_PASS'] ?? '');
$deytabeys = getenv('DB_NAME') ?: ($_ENV['DB_NAME'] ?? '');
// Read env vars — prefer $_ENV (always populated) with getenv() fallback
$host = $_ENV['DB_HOST'] ?? getenv('DB_HOST') ?? '';
$ngalan = $_ENV['DB_USER'] ?? getenv('DB_USER') ?? '';
$sikreto = $_ENV['DB_PASS'] ?? getenv('DB_PASS') ?? '';
$deytabeys = $_ENV['DB_NAME'] ?? getenv('DB_NAME') ?? '';
if (empty($host) || empty($ngalan)) {
die('<p style="color:red;font-family:monospace;padding:20px">DB config missing. Please create a .env file from .env.example</p>');