From 522bd5d99de955f0a2a0f4a092b6caa46840ec9c Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 8 Nov 2019 21:45:24 +0100 Subject: [PATCH] [DI] fix loading env while env loaders are loaded --- .../Component/DependencyInjection/EnvVarProcessor.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php b/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php index 6451ac9b0e..724187b1db 100644 --- a/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php +++ b/src/Symfony/Component/DependencyInjection/EnvVarProcessor.php @@ -141,15 +141,20 @@ class EnvVarProcessor implements EnvVarProcessorInterface } } + $loaders = $this->loaders; + $this->loaders = new \ArrayIterator(); + try { - while ((false === $env || null === $env) && $this->loaders->valid()) { - $loader = $this->loaders->current(); - $this->loaders->next(); + while ((false === $env || null === $env) && $loaders->valid()) { + $loader = $loaders->current(); + $loaders->next(); $this->loadedVars[] = $vars = $loader->loadEnvVars(); $env = $vars[$name] ?? false; } } catch (ParameterCircularReferenceException $e) { // skip loaders that need an env var that is not defined + } finally { + $this->loaders = $loaders; } if (false === $env || null === $env) {