Skip to content

Symfony dependency injection does not read environment variables from yaml file. #22534

@zippy1981

Description

@zippy1981
Q A
Bug report? yes
Feature request? no
BC Break report? no
RFC? no
Symfony version dev-master

I have reproduced this in a small example in this git repository.

If I load my dependency injection configuration from a config file that looks like this the environment variables aren't parsed.

parameters:
    log.file: '%env(APP_LOG)%'
    log.level: '%env(LOGGING_LEVEL)%'
services:
    stream_handler:
	class:     \Monolog\Handler\StreamHandler
	arguments:
	 - '%log.file%'
	 - '%log.level%'
    log:
	class:     \Monolog\Logger
	arguments: [ 'default',  ['@stream_handler']  ]

The error I get looks like:

Fatal error: Uncaught UnexpectedValueException: The stream or file "env_PATH_a61e1e48db268605210ee2286597d6fb" could not be opened: failed to open stream: Permission denied in /var/www/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107 Stack trace: #0 /var/www/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array) #1 /var/www/vendor/monolog/monolog/src/Monolog/Logger.php(337): Monolog\Handler\AbstractProcessingHandler->handle(Array) #2 /var/www/vendor/monolog/monolog/src/Monolog/Logger.php(532): Monolog\Logger->addRecord(100, 'Initialized dep...', Array) #3 /var/www/html/index.php(17): Monolog\Logger->debug('Initialized dep...') #4 {main} thrown in /var/www/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 107

I've asked on stack overflow to no response.

It seems the root of the problem is ContainerBuilder::resolveEnvPlaceholders() is never called.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions