Skip to content

Commit

Permalink
[Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-grekas committed Nov 8, 2018
1 parent 6006448 commit b52040d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
13 changes: 7 additions & 6 deletions src/Symfony/Component/Dotenv/Dotenv.php
Expand Up @@ -66,7 +66,8 @@ public function load($path/*, ...$paths*/)
*/
public function populate($values)
{
$loadedVars = array_flip(explode(',', getenv('SYMFONY_DOTENV_VARS')));
$updateLoadedVars = false;
$loadedVars = array_flip(explode(',', $_SERVER['SYMFONY_DOTENV_VARS'] ?? $_ENV['SYMFONY_DOTENV_VARS'] ?? ''));
unset($loadedVars['']);

foreach ($values as $name => $value) {
Expand All @@ -82,14 +83,14 @@ public function populate($values)
$_SERVER[$name] = $value;
}

$loadedVars[$name] = true;
if (!isset($loadedVars[$name])) {
$loadedVars[$name] = $updateLoadedVars = true;
}
}

if ($loadedVars) {
if ($updateLoadedVars) {
$loadedVars = implode(',', array_keys($loadedVars));
putenv("SYMFONY_DOTENV_VARS=$loadedVars");
$_ENV['SYMFONY_DOTENV_VARS'] = $loadedVars;
$_SERVER['SYMFONY_DOTENV_VARS'] = $loadedVars;
putenv('SYMFONY_DOTENV_VARS='.$_ENV['SYMFONY_DOTENV_VARS'] = $_SERVER['SYMFONY_DOTENV_VARS'] = $loadedVars);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/Symfony/Component/Dotenv/Tests/DotenvTest.php
Expand Up @@ -268,7 +268,7 @@ public function testMemorizingLoadedVarsNamesInSpecialVar()

public function testOverridingEnvVarsWithNamesMemorizedInSpecialVar()
{
putenv('SYMFONY_DOTENV_VARS=FOO,BAR,BAZ');
putenv('SYMFONY_DOTENV_VARS='.$_SERVER['SYMFONY_DOTENV_VARS'] = 'FOO,BAR,BAZ');

putenv('FOO=foo');
putenv('BAR=bar');
Expand Down

0 comments on commit b52040d

Please sign in to comment.