diff --git a/src/Composer/Downloader/ZipDownloader.php b/src/Composer/Downloader/ZipDownloader.php index d2fba3e34..2f204eb1b 100644 --- a/src/Composer/Downloader/ZipDownloader.php +++ b/src/Composer/Downloader/ZipDownloader.php @@ -68,6 +68,10 @@ class ZipDownloader extends ArchiveDownloader $zipArchive = new ZipArchive(); if (true !== ($retval = $zipArchive->open($file))) { + if (ZipArchive::ER_NOZIP === $retval) { + @copy($file, $copy = sys_get_temp_dir().'/composer-zip-debug.zip'); + throw new \UnexpectedValueException($this->getErrorMessage($retval, $file).' filesize: '.filesize($file).', file copied to '.$copy.' for debugging, please report this and email us the file if possible'); + } throw new \UnexpectedValueException($this->getErrorMessage($retval, $file)); }