diff --git a/src/Composer/Command/DiagnoseCommand.php b/src/Composer/Command/DiagnoseCommand.php index 401b01a46..f36ee3343 100644 --- a/src/Composer/Command/DiagnoseCommand.php +++ b/src/Composer/Command/DiagnoseCommand.php @@ -24,6 +24,7 @@ use Composer\Util\IniHelper; use Composer\Util\ProcessExecutor; use Composer\Util\HttpDownloader; use Composer\Util\StreamContextFactory; +use Composer\Util\Platform; use Composer\SelfUpdate\Keys; use Composer\SelfUpdate\Versions; use Composer\IO\NullIO; @@ -176,9 +177,17 @@ EOT $finder = new ExecutableFinder; $hasSystemUnzip = (bool) $finder->find('unzip'); + if (Platform::isWindows()) { + $hasSystem7zip = (bool) $finder->find('7z', null, array('C:\Program Files\7-Zip')); + $windows7z = ', ' . ($hasSystem7zip ? '7-Zip present' : '7-Zip not available'); + } else { + $windows7z = ''; + } + $io->write( 'zip: ' . (extension_loaded('zip') ? 'extension present' : 'extension not loaded') . ', ' . ($hasSystemUnzip ? 'unzip present' : 'unzip not available') + . $windows7z ); return $this->exitCode;