From 547616e96bde70b94a75d57dc917d207a95cda77 Mon Sep 17 00:00:00 2001 From: Rob Bast Date: Mon, 12 Sep 2016 16:08:50 +0200 Subject: [PATCH 1/3] tentative fix for #5667 --- src/Composer/XdebugHandler.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Composer/XdebugHandler.php b/src/Composer/XdebugHandler.php index cdd7e68ec..8e6992a27 100644 --- a/src/Composer/XdebugHandler.php +++ b/src/Composer/XdebugHandler.php @@ -49,6 +49,14 @@ class XdebugHandler public function check() { if (!$this->needsRestart()) { + $iniScanDir = getenv('PHP_INI_SCAN_DIR_OLD'); + + if ($iniScanDir) { + putenv('PHP_INI_SCAN_DIR=' . $iniScanDir); + } else { + putenv('PHP_INI_SCAN_DIR'); + } + return; } @@ -204,6 +212,12 @@ class XdebugHandler if (!file_exists($this->scanDir) && !@mkdir($this->scanDir, 0777)) { return; } + + $iniScanDirEnv = getenv('PHP_INI_SCAN_DIR'); + if ($iniScanDirEnv) { + putenv('PHP_INI_SCAN_DIR_OLD='.$iniScanDirEnv); + } + if (!putenv('PHP_INI_SCAN_DIR='.$this->scanDir)) { return; } From 81a34f0cc63be1c57876188ff4bfda6914babbdc Mon Sep 17 00:00:00 2001 From: Rob Bast Date: Mon, 12 Sep 2016 16:20:49 +0200 Subject: [PATCH 2/3] cleanup env that contains previous/old path --- src/Composer/XdebugHandler.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Composer/XdebugHandler.php b/src/Composer/XdebugHandler.php index 8e6992a27..d9fc93a5b 100644 --- a/src/Composer/XdebugHandler.php +++ b/src/Composer/XdebugHandler.php @@ -20,6 +20,8 @@ use Symfony\Component\Console\Output\OutputInterface; class XdebugHandler { const ENV_ALLOW = 'COMPOSER_ALLOW_XDEBUG'; + const ENV_INI_SCAN_DIR = 'PHP_INI_SCAN_DIR'; + const ENV_INI_SCAN_DIR_OLD = 'COMPOSER_PHP_INI_SCAN_DIR_OLD'; private $output; private $loaded; @@ -49,12 +51,13 @@ class XdebugHandler public function check() { if (!$this->needsRestart()) { - $iniScanDir = getenv('PHP_INI_SCAN_DIR_OLD'); + $iniScanDir = getenv(self::ENV_INI_SCAN_DIR_OLD); if ($iniScanDir) { - putenv('PHP_INI_SCAN_DIR=' . $iniScanDir); + putenv(self::ENV_INI_SCAN_DIR_OLD); + putenv(self::ENV_INI_SCAN_DIR.'=' . $iniScanDir); } else { - putenv('PHP_INI_SCAN_DIR'); + putenv(self::ENV_INI_SCAN_DIR); } return; @@ -213,12 +216,12 @@ class XdebugHandler return; } - $iniScanDirEnv = getenv('PHP_INI_SCAN_DIR'); + $iniScanDirEnv = getenv(self::ENV_INI_SCAN_DIR); if ($iniScanDirEnv) { - putenv('PHP_INI_SCAN_DIR_OLD='.$iniScanDirEnv); + putenv(self::ENV_INI_SCAN_DIR_OLD.'='.$iniScanDirEnv); } - if (!putenv('PHP_INI_SCAN_DIR='.$this->scanDir)) { + if (!putenv(self::ENV_INI_SCAN_DIR.'='.$this->scanDir)) { return; } } From cd54fc8a30131dd57de06e90aeaa0d65a73b88b5 Mon Sep 17 00:00:00 2001 From: Rob Bast Date: Mon, 12 Sep 2016 16:22:39 +0200 Subject: [PATCH 3/3] better naming (clarity) --- src/Composer/XdebugHandler.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Composer/XdebugHandler.php b/src/Composer/XdebugHandler.php index d9fc93a5b..843784b4c 100644 --- a/src/Composer/XdebugHandler.php +++ b/src/Composer/XdebugHandler.php @@ -51,11 +51,11 @@ class XdebugHandler public function check() { if (!$this->needsRestart()) { - $iniScanDir = getenv(self::ENV_INI_SCAN_DIR_OLD); + $originalIniScanDir = getenv(self::ENV_INI_SCAN_DIR_OLD); - if ($iniScanDir) { + if ($originalIniScanDir) { putenv(self::ENV_INI_SCAN_DIR_OLD); - putenv(self::ENV_INI_SCAN_DIR.'=' . $iniScanDir); + putenv(self::ENV_INI_SCAN_DIR.'=' . $originalIniScanDir); } else { putenv(self::ENV_INI_SCAN_DIR); } @@ -216,9 +216,9 @@ class XdebugHandler return; } - $iniScanDirEnv = getenv(self::ENV_INI_SCAN_DIR); - if ($iniScanDirEnv) { - putenv(self::ENV_INI_SCAN_DIR_OLD.'='.$iniScanDirEnv); + $currentIniScanDir = getenv(self::ENV_INI_SCAN_DIR); + if ($currentIniScanDir) { + putenv(self::ENV_INI_SCAN_DIR_OLD.'='.$currentIniScanDir); } if (!putenv(self::ENV_INI_SCAN_DIR.'='.$this->scanDir)) {