diff --git a/src/Composer/EventDispatcher/EventDispatcher.php b/src/Composer/EventDispatcher/EventDispatcher.php index be53cab9d..faedb969a 100644 --- a/src/Composer/EventDispatcher/EventDispatcher.php +++ b/src/Composer/EventDispatcher/EventDispatcher.php @@ -243,6 +243,8 @@ class EventDispatcher if (strpos($exec, '@putenv ') === 0) { putenv(substr($exec, 8)); + list($var, $value) = explode('=', substr($exec, 8), 2); + $_SERVER[$var] = $value; continue; } diff --git a/src/Composer/Util/Git.php b/src/Composer/Util/Git.php index 434a9e0d5..653969305 100644 --- a/src/Composer/Util/Git.php +++ b/src/Composer/Util/Git.php @@ -354,7 +354,7 @@ class Git // added in git 1.7.1, prevents prompting the user for username/password if (getenv('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 @@ -370,6 +370,7 @@ class Git // Run processes with predictable LANGUAGE if (getenv('LANGUAGE') !== 'C') { putenv('LANGUAGE=C'); + $_SERVER['LANGUAGE'] = 'C'; } // clean up env for OSX, see https://github.com/composer/composer/issues/2146#issuecomment-35478940