Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
[Process] Deprecate not inheriting env vars + compat related settings#21470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
fabpot commentedFeb 1, 2017
Thank you@nicolas-grekas. |
…elated settings (nicolas-grekas)This PR was merged into the 3.3-dev branch.Discussion----------[Process] Deprecate not inheriting env vars + compat related settings| Q | A| ------------- | ---| Branch? | master| Bug fix? | no| New feature? | no| BC breaks? | no| Deprecations? | yes| Tests pass? | no| Fixed tickets | -| License | MIT| Doc PR | -Turning compat on/off is not a feature in itself.About env vars: if one has unwanted env vars, one will still be able to remove them explicitly for the command. From my experience, not having eg PATH or HTTP_PROXY, etc. is more problematic. I'd prefer people to care about setting/unsetting the environment vars **they know about**, rather than allowing them to start with no ENV and discover later that they missed setting some var.Commits-------df14451 [Process] Deprecate not inheriting env vars + compat related settings
| */ | ||
| publicfunctionsetEnv(array$env) | ||
| { | ||
| // Process can not handle env values that are arrays |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
We need to trigger a deprecation warning when passing array values (this was added because some people were passing$_SERVER directly at some point, when inheriting was not a native feature).
…es() (ogizanagi)This PR was merged into the 4.4 branch.Discussion----------[Process] Deprecate Process::inheritEnvironmentVariables()| Q | A| ------------- | ---| Branch? | 4.4 <!-- see below -->| Bug fix? | no| New feature? | no <!-- please update src/**/CHANGELOG.md files -->| BC breaks? | no <!-- seehttps://symfony.com/bc -->| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->| Tests pass? | yes <!-- please add some, will be required by reviewers -->| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->| License | MIT| Doc PR | N/AIIUC, this method was kept as a BC layer from 3.4 to 4.0 to switch to the "inherit env vars" behavior, inciting developers to opt-in in 3.4. Since 4.0, env vars are always inherited, and this method doesn't allow to opt-out. So, time to remove it?---refs:-symfony/symfony#21470-symfony/symfony#22836Commits-------af9bad31c6 [Process] Deprecate Process::inheritEnvironmentVariables()
…es() (ogizanagi)This PR was merged into the 4.4 branch.Discussion----------[Process] Deprecate Process::inheritEnvironmentVariables()| Q | A| ------------- | ---| Branch? | 4.4 <!-- see below -->| Bug fix? | no| New feature? | no <!-- please update src/**/CHANGELOG.md files -->| BC breaks? | no <!-- seehttps://symfony.com/bc -->| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->| Tests pass? | yes <!-- please add some, will be required by reviewers -->| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->| License | MIT| Doc PR | N/AIIUC, this method was kept as a BC layer from 3.4 to 4.0 to switch to the "inherit env vars" behavior, inciting developers to opt-in in 3.4. Since 4.0, env vars are always inherited, and this method doesn't allow to opt-out. So, time to remove it?---refs:-#21470-#22836Commits-------af9bad3 [Process] Deprecate Process::inheritEnvironmentVariables()
…es() (ogizanagi)This PR was merged into the 4.4 branch.Discussion----------[Process] Deprecate Process::inheritEnvironmentVariables()| Q | A| ------------- | ---| Branch? | 4.4 <!-- see below -->| Bug fix? | no| New feature? | no <!-- please update src/**/CHANGELOG.md files -->| BC breaks? | no <!-- seehttps://symfony.com/bc -->| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->| Tests pass? | yes <!-- please add some, will be required by reviewers -->| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->| License | MIT| Doc PR | N/AIIUC, this method was kept as a BC layer from 3.4 to 4.0 to switch to the "inherit env vars" behavior, inciting developers to opt-in in 3.4. Since 4.0, env vars are always inherited, and this method doesn't allow to opt-out. So, time to remove it?---refs:-symfony/symfony#21470-symfony/symfony#22836Commits-------af9bad31c6 [Process] Deprecate Process::inheritEnvironmentVariables()
…es() (ogizanagi)This PR was merged into the 4.4 branch.Discussion----------[Process] Deprecate Process::inheritEnvironmentVariables()| Q | A| ------------- | ---| Branch? | 4.4 <!-- see below -->| Bug fix? | no| New feature? | no <!-- please update src/**/CHANGELOG.md files -->| BC breaks? | no <!-- seehttps://symfony.com/bc -->| Deprecations? | yes <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->| Tests pass? | yes <!-- please add some, will be required by reviewers -->| Fixed tickets | N/A <!-- #-prefixed issue number(s), if any -->| License | MIT| Doc PR | N/AIIUC, this method was kept as a BC layer from 3.4 to 4.0 to switch to the "inherit env vars" behavior, inciting developers to opt-in in 3.4. Since 4.0, env vars are always inherited, and this method doesn't allow to opt-out. So, time to remove it?---refs:-symfony/symfony#21470-symfony/symfony#22836Commits-------af9bad31c6 [Process] Deprecate Process::inheritEnvironmentVariables()
faizanakram99 commentedNov 11, 2019 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
How to override environment variables in processes ? It is useful in multi-tenant applications where we want to run the same set of commands with different settings (env vars), due to this change now I'd have to switch back to native php functions :( |
nicolas-grekas commentedNov 11, 2019
By using the$env argument that most methods provide. |
Turning compat on/off is not a feature in itself.
About env vars: if one has unwanted env vars, one will still be able to remove them explicitly for the command. From my experience, not having eg PATH or HTTP_PROXY, etc. is more problematic. I'd prefer people to care about setting/unsetting the environment varsthey know about, rather than allowing them to start with no ENV and discover later that they missed setting some var.