Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 21a909a

Browse files
[Dotenv] dont use getenv() to read SYMFONY_DOTENV_VARS
1 parent 6006448 commit 21a909a

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/Symfony/Component/Dotenv/Dotenv.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ public function load($path/*, ...$paths*/)
6666
*/
6767
public function populate($values)
6868
{
69-
$loadedVars = array_flip(explode(',', getenv('SYMFONY_DOTENV_VARS')));
70-
unset($loadedVars['']);
69+
$updateLoadedVars = false;
70+
$loadedVars = array_flip(explode(',', isset($_SERVER['SYMFONY_DOTENV_VARS']) ? $_SERVER['SYMFONY_DOTENV_VARS'] : (isset($_ENV['SYMFONY_DOTENV_VARS']) ? $_ENV['SYMFONY_DOTENV_VARS'] : '')));
7171

7272
foreach ($values as $name => $value) {
7373
$notHttpName = 0 !== strpos($name, 'HTTP_');
@@ -82,14 +82,15 @@ public function populate($values)
8282
$_SERVER[$name] = $value;
8383
}
8484

85-
$loadedVars[$name] = true;
85+
if (!isset($loadedVars[$name])) {
86+
$loadedVars[$name] = $updateLoadedVars = true;
87+
}
8688
}
8789

88-
if ($loadedVars) {
90+
if ($updateLoadedVars) {
91+
unset($loadedVars['']);
8992
$loadedVars = implode(',', array_keys($loadedVars));
90-
putenv("SYMFONY_DOTENV_VARS=$loadedVars");
91-
$_ENV['SYMFONY_DOTENV_VARS'] = $loadedVars;
92-
$_SERVER['SYMFONY_DOTENV_VARS'] = $loadedVars;
93+
putenv('SYMFONY_DOTENV_VARS='.$_ENV['SYMFONY_DOTENV_VARS'] = $_SERVER['SYMFONY_DOTENV_VARS'] = $loadedVars);
9394
}
9495
}
9596

src/Symfony/Component/Dotenv/Tests/DotenvTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ public function testMemorizingLoadedVarsNamesInSpecialVar()
268268

269269
public function testOverridingEnvVarsWithNamesMemorizedInSpecialVar()
270270
{
271-
putenv('SYMFONY_DOTENV_VARS=FOO,BAR,BAZ');
271+
putenv('SYMFONY_DOTENV_VARS='.$_SERVER['SYMFONY_DOTENV_VARS'] = 'FOO,BAR,BAZ');
272272

273273
putenv('FOO=foo');
274274
putenv('BAR=bar');

0 commit comments

Comments
 (0)