Skip to content

Cannot reference environment variables in configuration #12606

@cs278

Description

@cs278

Bug report

A simple configuration file that references an environment variable (see phpstan/phpstan-src#2559) fails to run:

includes:
	- %env.HOME%/.config/phpstan.neon
	- phpstan.neon.dist

When running PHPStan the following error is emitted:

$ bin/phpstan analyse -vv
Note: Using configuration file /home/chris.smith/projects/phpstan/phpstan.neon.

In Helpers.php line 80:
                                    
  [Nette\InvalidArgumentException]  
  Missing parameter 'env.HOME'.     
                                    

Exception trace:
  at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/Helpers.php:80
 Nette\DI\Helpers::expand() at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/Helpers.php:39
 Nette\DI\Helpers::expand() at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/Config/Loader.php:58
 Nette\DI\Config\Loader->load() at /home/chris.smith/projects/phpstan/src/DependencyInjection/NeonLoader.php:24
 PHPStan\DependencyInjection\NeonLoader->load() at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/Compiler.php:132
 Nette\DI\Compiler->loadConfig() at /home/chris.smith/projects/phpstan/vendor/nette/bootstrap/src/Bootstrap/Configurator.php:298
 Nette\Bootstrap\Configurator->generateContainer() at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/ContainerLoader.php:119
 Nette\DI\ContainerLoader->generate() at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/ContainerLoader.php:80
 Nette\DI\ContainerLoader->loadFile() at /home/chris.smith/projects/phpstan/vendor/nette/di/src/DI/ContainerLoader.php:44
 Nette\DI\ContainerLoader->load() at /home/chris.smith/projects/phpstan/src/DependencyInjection/Configurator.php:78
 PHPStan\DependencyInjection\Configurator->loadContainer() at /home/chris.smith/projects/phpstan/vendor/nette/bootstrap/src/Bootstrap/Configurator.php:258
 Nette\Bootstrap\Configurator->createContainer() at /home/chris.smith/projects/phpstan/src/DependencyInjection/Configurator.php:192
 PHPStan\DependencyInjection\Configurator->createContainer() at /home/chris.smith/projects/phpstan/src/DependencyInjection/ContainerFactory.php:152
 PHPStan\DependencyInjection\ContainerFactory->create() at /home/chris.smith/projects/phpstan/src/Command/CommandHelper.php:358
 PHPStan\Command\CommandHelper::begin() at /home/chris.smith/projects/phpstan/src/Command/AnalyseCommand.php:162
 PHPStan\Command\AnalyseCommand->execute() at /home/chris.smith/projects/phpstan/vendor/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at /home/chris.smith/projects/phpstan/vendor/symfony/console/Application.php:1040
 Symfony\Component\Console\Application->doRunCommand() at /home/chris.smith/projects/phpstan/vendor/symfony/console/Application.php:301
 Symfony\Component\Console\Application->doRun() at /home/chris.smith/projects/phpstan/vendor/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at /home/chris.smith/projects/phpstan/bin/phpstan:156
 {closure}() at /home/chris.smith/projects/phpstan/bin/phpstan:157

Code snippet that reproduces the problem

No response

Expected output

No error

Did PHPStan help you today? Did it make you happy in any way?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions