Probíhá hledání...

Drupal a problém s putenv()

Proč je funkce putenv() zakázaná?

Funkce putenv() mění prostředí PHP procesu, což může být zneužito k obejití bezpečnostních omezení nebo ke změně chování PHP běhového prostředí. Na produkčních prostředích jako jsou sdílené servery to představuje riziko pro ostatní weby na stejném serveru.

✅ Jak to obejít:

Drupal (nebo knihovny jako Symfony) typicky používají putenv() k načítání proměnných z .env souborů. Je možné to snadno obejít:

1. Nepoužívejte .env soubor – místo toho nastavte potřebné hodnoty přímo v souboru settings.php:

$_ENV['NAZEV_PROMENNE'] = 'hodnota';
$_SERVER['NAZEV_PROMENNE'] = 'hodnota';


2. Pokud používáte vlastní načítání .env, nahraďte ho ručním načtením bez putenv():

$env = parse_ini_file(__DIR__ . '/../.env');
foreach ($env as $k => $v) {
    $_ENV[$k] = $v;
    $_SERVER[$k] = $v;
}

Pokud se web snaží stále volat funkci putenv(), pak některá část aplikace (např. knihovna pro načítání .env proměnných) není nakonfigurovaná správně pro náš hosting. Doporučujeme vypnout nebo nahradit použití těchto knihoven ručním nastavením proměnných v settings.php.

Komentáře

Pro odeslání komentáře je nutno být přihlášen