Browse Source

Fix problem report when requiring "ext-zend opcache", refs #2509

Jordi Boggiano 7 years ago
parent
commit
471b012e3a

+ 4 - 0
src/Composer/DependencyResolver/Problem.php

@@ -108,6 +108,10 @@ class Problem
 
                 // handle php extensions
                 if (0 === stripos($job['packageName'], 'ext-')) {
+                    if (false !== strpos($job['packageName'], ' ')) {
+                        return "\n    - The requested PHP extension ".$job['packageName'].' should be required as '.str_replace(' ', '-', $job['packageName']).'.';
+                    }
+
                     $ext = substr($job['packageName'], 4);
                     $error = extension_loaded($ext) ? 'has the wrong version ('.(phpversion($ext) ?: '0').') installed' : 'is missing from your system';
 

+ 1 - 1
src/Composer/Repository/PlatformRepository.php

@@ -24,7 +24,7 @@ use Composer\Util\Silencer;
  */
 class PlatformRepository extends ArrayRepository
 {
-    const PLATFORM_PACKAGE_REGEX = '{^(?:php(?:-64bit|-ipv6|-zts|-debug)?|hhvm|(?:ext|lib)-[^/]+)$}i';
+    const PLATFORM_PACKAGE_REGEX = '{^(?:php(?:-64bit|-ipv6|-zts|-debug)?|hhvm|(?:ext|lib)-[^/ ]+)$}i';
 
     private $versionParser;