File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -67,7 +67,7 @@ public function process(ContainerBuilder $container)
6767
6868 if ($ resolvingBag instanceof MergeExtensionConfigurationParameterBag) {
6969 // don't keep track of env vars that are *overridden* when configs are merged
70- $ resolvingBag ->freezeAfterProcessing ($ extension );
70+ $ resolvingBag ->freezeAfterProcessing ($ extension, $ tmpContainer );
7171 }
7272
7373 $ container ->merge ($ tmpContainer );
@@ -92,12 +92,16 @@ public function __construct(parent $parameterBag)
9292 $ this ->mergeEnvPlaceholders ($ parameterBag );
9393 }
9494
95- public function freezeAfterProcessing (Extension $ extension )
95+ public function freezeAfterProcessing (Extension $ extension, ContainerBuilder $ container )
9696 {
97+ if (!$ config = $ extension ->getProcessedConfigs ()) {
98+ // Extension::processConfiguration() wasn't called, we cannot know how configs were merged
99+ return ;
100+ }
97101 $ this ->processedEnvPlaceholders = array ();
98102
99- // serialize config to catch env vars nested in object graphs
100- $ config = serialize ($ extension -> getProcessedConfigs ());
103+ // serialize config and container to catch env vars nested in object graphs
104+ $ config = serialize ($ config ). serialize ( $ container -> getDefinitions ()). serialize ( $ container -> getAliases ()). serialize ( $ container -> getParameterBag ()-> all ());
101105
102106 foreach (parent ::getEnvPlaceholders () as $ env => $ placeholders ) {
103107 foreach ($ placeholders as $ placeholder ) {
You can’t perform that action at this time.
0 commit comments