1
0
Fork 0

Fix $_SERVER var not being updated when using putenv, refs b80038804f and fixes #9372

pull/9651/head
Jordi Boggiano 2021-01-26 15:54:21 +01:00
parent 3245a7cca2
commit 2cb9630320
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
2 changed files with 4 additions and 1 deletions

View File

@ -234,6 +234,8 @@ class EventDispatcher
if (substr($exec, 0, 8) === '@putenv ') { if (substr($exec, 0, 8) === '@putenv ') {
putenv(substr($exec, 8)); putenv(substr($exec, 8));
list($var, $value) = explode('=', substr($exec, 8), 2);
$_SERVER[$var] = $value;
continue; continue;
} elseif (substr($exec, 0, 5) === '@php ') { } elseif (substr($exec, 0, 5) === '@php ') {

View File

@ -347,7 +347,7 @@ class Git
// added in git 1.7.1, prevents prompting the user for username/password // added in git 1.7.1, prevents prompting the user for username/password
if (getenv('GIT_ASKPASS') !== 'echo') { if (getenv('GIT_ASKPASS') !== 'echo') {
putenv('GIT_ASKPASS=echo'); putenv('GIT_ASKPASS=echo');
unset($_SERVER['GIT_ASKPASS']); $_SERVER['GIT_ASKPASS'] = 'echo';
} }
// clean up rogue git env vars in case this is running in a git hook // clean up rogue git env vars in case this is running in a git hook
@ -363,6 +363,7 @@ class Git
// Run processes with predictable LANGUAGE // Run processes with predictable LANGUAGE
if (getenv('LANGUAGE') !== 'C') { if (getenv('LANGUAGE') !== 'C') {
putenv('LANGUAGE=C'); putenv('LANGUAGE=C');
$_SERVER['LANGUAGE'] = 'C';
} }
// clean up env for OSX, see https://github.com/composer/composer/issues/2146#issuecomment-35478940 // clean up env for OSX, see https://github.com/composer/composer/issues/2146#issuecomment-35478940