Actualiser api/lib/env.php
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
Security Scan (Trivy) / Trivy — Docker image scan (push) Has been cancelled
Security Scan (Trivy) / Trivy — Filesystem scan (push) Has been cancelled

This commit is contained in:
2026-06-17 08:26:35 +00:00
parent 4ee2e5638b
commit a3a3b54a85
+10 -5
View File
@@ -2,7 +2,6 @@
/** /**
* EverShelf — environment variable loader (.env). * EverShelf — environment variable loader (.env).
*/ */
function loadEnv(): array { function loadEnv(): array {
static $cache = null; static $cache = null;
if ($cache !== null) { if ($cache !== null) {
@@ -22,14 +21,20 @@ function loadEnv(): array {
} }
return $cache; return $cache;
} }
function env(string $key, string $default = ''): string { function env(string $key, string $default = ''): string {
$vars = loadEnv(); $vars = loadEnv();
return $vars[$key] ?? $default; if (isset($vars[$key]) && $vars[$key] !== '') {
return $vars[$key];
}
// Fallback to system/Docker environment variables (e.g. set via Portainer)
$sysVal = getenv($key);
if ($sysVal !== false && $sysVal !== '') {
return $sysVal;
}
return $default;
} }
/** Push a single key into the in-memory env cache (after .env write). */ /** Push a single key into the in-memory env cache (after .env write). */
function envCacheSet(string $key, string $value): void { function envCacheSet(string $key, string $value): void {
loadEnv(); loadEnv();
// Force reload on next call — callers should use loadEnv() return for batch updates // Force reload on next call — callers should use loadEnv() return for batch updates
} }