File tree 2 files changed +13
-4
lines changed
2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -438,13 +438,13 @@ protected function getEnv($name)
438
438
if (isset ($ this ->envCache [$ name ]) || array_key_exists ($ name , $ this ->envCache )) {
439
439
return $ this ->envCache [$ name ];
440
440
}
441
- if (0 !== strpos ($ name , 'HTTP_ ' ) && isset ( $ _SERVER [ $ name ] )) {
441
+ if (isset ( $ _SERVER [ $ name ]) && 0 !== strpos ($ name , 'HTTP_ ' )) {
442
442
return $ this ->envCache [$ name ] = $ _SERVER [$ name ];
443
443
}
444
444
if (isset ($ _ENV [$ name ])) {
445
445
return $ this ->envCache [$ name ] = $ _ENV [$ name ];
446
446
}
447
- if (false !== $ env = getenv ($ name )) {
447
+ if (false !== ( $ env = getenv ($ name )) && null !== $ env ) { // null is a possible value because of thread safety issues
448
448
return $ this ->envCache [$ name ] = $ env ;
449
449
}
450
450
if (!$ this ->hasParameter ("env( $ name) " )) {
Original file line number Diff line number Diff line change @@ -70,7 +70,8 @@ public function populate($values)
70
70
unset($ loadedVars ['' ]);
71
71
72
72
foreach ($ values as $ name => $ value ) {
73
- if (!isset ($ loadedVars [$ name ]) && (isset ($ _ENV [$ name ]) || isset ($ _SERVER [$ name ]) || false !== getenv ($ name ))) {
73
+ // don't check existence with getenv() because of thread safety issues
74
+ if (!isset ($ loadedVars [$ name ]) && (isset ($ _ENV [$ name ]) || isset ($ _SERVER [$ name ]))) {
74
75
continue ;
75
76
}
76
77
@@ -363,7 +364,15 @@ private function resolveVariables($value)
363
364
}
364
365
365
366
$ name = $ matches [3 ];
366
- $ value = isset ($ this ->values [$ name ]) ? $ this ->values [$ name ] : (isset ($ _ENV [$ name ]) ? $ _ENV [$ name ] : (string ) getenv ($ name ));
367
+ if (isset ($ this ->values [$ name ])) {
368
+ $ value = $ this ->values [$ name ];
369
+ } elseif (isset ($ _SERVER [$ name ]) && 0 !== strpos ($ name , 'HTTP_ ' )) {
370
+ $ value = $ _SERVER [$ name ];
371
+ } elseif (isset ($ _ENV [$ name ])) {
372
+ $ value = $ _ENV [$ name ];
373
+ } else {
374
+ $ value = (string ) getenv ($ name );
375
+ }
367
376
368
377
if (!$ matches [2 ] && isset ($ matches [4 ])) {
369
378
$ value .= '} ' ;
You can’t perform that action at this time.
0 commit comments