Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug #32943 [Dotenv] search variable values in ENV first then env file…
… (soufianZantar) This PR was merged into the 3.4 branch. Discussion ---------- [Dotenv] search variable values in ENV first then env file | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no <!-- please update src/**/CHANGELOG.md files --> | BC breaks? | no <!-- see https://symfony.com/bc --> | Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files --> | Tests pass? | yes <!-- please add some, will be required by reviewers --> | Fixed tickets | #32595 | License | MIT | Doc PR | symfony/symfony-docs#... <!-- required for new features --> <!-- Replace this notice by a short README for your feature/bugfix. This will help people understand your PR and can be used as a start for the documentation. Additionally (see https://symfony.com/roadmap): - Bug fixes must be submitted against the lowest maintained branch where they apply (lowest branches are regularly merged to upper ones so they get the fixes too). - Features and deprecations must be submitted against branch 4.4. - Legacy code removals go to the master branch. --> I think we must searhing the value of variables in $_ENV before the .env file to fix this issues. before this fix Parse method will return the value in .env file and not the value passed in this command `composer dump-env prod `. **the issue:** In my .env file, I have a variable TEST that depends on the APP_ENV variable like this: ``` # .env file ###> symfony/framework-bundle ### APP_ENV=dev APP_SECRET=2eb810c79fba0dd5c029a2fa53bfdb51 ###< symfony/framework-bundle ### TEST=foo_${APP_ENV} ``` I run composer dump-env dev command to generate my .env.locale.php, everything works fine, the value of my variable TEST is correct. ``` // .env.locale.php return array ( 'APP_ENV' => 'dev', 'TEST' => 'foo_dev', 'APP_SECRET' => '2eb810c79fba0dd5c029a2fa53bfdb51', ); ``` Then I run the same command with prod environment (composer dump-env prod), the value of TEST is wrong (it is same as for dev) ``` // .env.locale.php return array ( 'APP_ENV' => 'prod', 'TEST' => 'foo_dev', 'APP_SECRET' => '2eb810c79fba0dd5c029a2fa53bfdb51', ); ``` Commits ------- 3018041 [Dotenv] search variable values in ENV first then env file
- Loading branch information