Produktions-Env-Loading fuer echtes Webhosting ergaenzen
PHP-FPM/mod_php auf Shared Hosting erbt keine shell-exportierten Umgebungsvariablen wie der lokale Dev-Server. app/bootstrap.php laedt jetzt optional env.local.php (nicht eingecheckt, siehe env.local.example.php als Vorlage) und setzt die Variablen per putenv(), bevor irgendein app_env()/getenv()-Aufruf passiert. Greift jetzt auch fuer CLI-Skripte (migrate.php, grant-platform-admin.php) ueber scripts/dev-db.php.
This commit is contained in:
@@ -6,6 +6,17 @@ if (!defined('APP_ROOT')) {
|
||||
define('APP_ROOT', dirname(__DIR__));
|
||||
}
|
||||
|
||||
// Auf echtem Webhosting (PHP-FPM/mod_php) gibt es meist keine bequeme
|
||||
// Moeglichkeit, Prozess-Umgebungsvariablen zu setzen wie beim lokalen
|
||||
// `source .env.local` vor dem PHP-Dev-Server. env.local.php ist die
|
||||
// Produktions-Entsprechung: eine nicht eingecheckte Datei mit putenv()-
|
||||
// Aufrufen, siehe env.local.example.php. Existiert sie nicht (lokale
|
||||
// Entwicklung), passiert hier nichts und getenv() liest wie bisher aus
|
||||
// der Shell-Umgebung.
|
||||
if (is_file(APP_ROOT . '/env.local.php')) {
|
||||
require_once APP_ROOT . '/env.local.php';
|
||||
}
|
||||
|
||||
function app_env(string $name, ?string $default = null): ?string
|
||||
{
|
||||
$value = getenv($name);
|
||||
|
||||
Reference in New Issue
Block a user