From 5fd50080abbff4c36b1882d83d8081ca3e4dac39 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 18 Mar 2012 22:45:22 +0100 Subject: [PATCH] Print details about missing extensions, fixes #312 --- src/Composer/DependencyResolver/Problem.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Composer/DependencyResolver/Problem.php b/src/Composer/DependencyResolver/Problem.php index c40367d4c..8ac2ed4bb 100644 --- a/src/Composer/DependencyResolver/Problem.php +++ b/src/Composer/DependencyResolver/Problem.php @@ -75,6 +75,12 @@ class Problem $job = $reason['job']; if ($job && $job['cmd'] === 'install' && empty($job['packages'])) { + // handle php extensions + if (0 === stripos($job['packageName'], 'ext-')) { + $ext = substr($job['packageName'], 4); + $error = extension_loaded($ext) ? 'has the wrong version ('.phpversion($ext).') installed' : 'is missing from your system'; + return 'The requested PHP extension "'.$job['packageName'].'" '.$this->constraintToText($job['constraint']).$error.'.'; + } return 'The requested package "'.$job['packageName'].'" '.$this->constraintToText($job['constraint']).'could not be found.'; } }