Explorar o código

Fix version parsing of PHP on some linux distros

Jordi Boggiano %!s(int64=14) %!d(string=hai) anos
pai
achega
52888f193d
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      src/Composer/Repository/PlatformRepository.php

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

@@ -26,7 +26,11 @@ class PlatformRepository extends ArrayRepository
     {
         parent::initialize();
 
-        $version = BasePackage::parseVersion(PHP_VERSION);
+        try {
+            $version = BasePackage::parseVersion(PHP_VERSION);
+        } catch (\UnexpectedValueException $e) {
+            $version = BasePackage::parseVersion(preg_replace('#^(.+?)(-.+)?#', '$1', PHP_VERSION));
+        }
 
         // TODO mark as type platform and create a special installer that skips it + one that throws an exception
         $php = new MemoryPackage('php', $version['version'], $version['type']);