File tree 1 file changed +8
-4
lines changed
src/Symfony/Component/DependencyInjection/Compiler 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)
67
67
68
68
if ($ resolvingBag instanceof MergeExtensionConfigurationParameterBag) {
69
69
// don't keep track of env vars that are *overridden* when configs are merged
70
- $ resolvingBag ->freezeAfterProcessing ($ extension );
70
+ $ resolvingBag ->freezeAfterProcessing ($ extension, $ tmpContainer );
71
71
}
72
72
73
73
$ container ->merge ($ tmpContainer );
@@ -92,12 +92,16 @@ public function __construct(parent $parameterBag)
92
92
$ this ->mergeEnvPlaceholders ($ parameterBag );
93
93
}
94
94
95
- public function freezeAfterProcessing (Extension $ extension )
95
+ public function freezeAfterProcessing (Extension $ extension, ContainerBuilder $ container )
96
96
{
97
+ if (!$ config = $ extension ->getProcessedConfigs ()) {
98
+ // Extension::processConfiguration() wasn't called, we cannot know how configs were merged
99
+ return ;
100
+ }
97
101
$ this ->processedEnvPlaceholders = array ();
98
102
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 ());
101
105
102
106
foreach (parent ::getEnvPlaceholders () as $ env => $ placeholders ) {
103
107
foreach ($ placeholders as $ placeholder ) {
You can’t perform that action at this time.
0 commit comments