diff options
Diffstat (limited to 'lib/private/Installer.php')
-rw-r--r-- | lib/private/Installer.php | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/private/Installer.php b/lib/private/Installer.php index 47d6c42d518..9388711697a 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -294,12 +294,14 @@ class Installer { if ($archive) { if (!$archive->extract($extractDir)) { - throw new \Exception( - sprintf( - 'Could not extract app %s', - $appId - ) - ); + $errorMessage = 'Could not extract app ' . $appId; + + $archiveError = $archive->getError(); + if ($archiveError instanceof \PEAR_Error) { + $errorMessage .= ': ' . $archiveError->getMessage(); + } + + throw new \Exception($errorMessage); } $allFiles = scandir($extractDir); $folders = array_diff($allFiles, ['.', '..']); |