From 0b99ae277340fd62f524f96f825db624a15e61de Mon Sep 17 00:00:00 2001 From: Carlos C Soto Date: Wed, 9 May 2018 00:27:39 -0500 Subject: [PATCH 1/3] workaround to debian php version that does not use semver --- src/services/phar/CompatibilityService.php | 5 +++-- src/shared/environment/Environment.php | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/services/phar/CompatibilityService.php b/src/services/phar/CompatibilityService.php index c5e20da3..42638f69 100644 --- a/src/services/phar/CompatibilityService.php +++ b/src/services/phar/CompatibilityService.php @@ -49,11 +49,12 @@ public function canRun(Phar $phar) { case $requirement instanceof PhpVersionRequirement: { $php = $requirement->getVersionConstraint(); - if (!$php->complies(new Version(PHP_VERSION))) { + $phpversion = PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION; + if (!$php->complies(new Version($phpversion))) { $issues[] = sprintf( 'PHP Version %s required, but %s in use', $php, - PHP_VERSION + $phpversion ); } continue 2; diff --git a/src/shared/environment/Environment.php b/src/shared/environment/Environment.php index 854b7267..fb4f2461 100644 --- a/src/shared/environment/Environment.php +++ b/src/shared/environment/Environment.php @@ -131,7 +131,7 @@ public function getRuntimeVersion() { return HHVM_VERSION; } - return PHP_VERSION; + return PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION; } /** From 8703b31ca6ad82b4252902e906ebcd8187ec8ecd Mon Sep 17 00:00:00 2001 From: Carlos C Soto Date: Wed, 9 May 2018 16:18:00 -0500 Subject: [PATCH 2/3] Revert PHP_VERSION override, it is out of scope of this workaround --- src/shared/environment/Environment.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/environment/Environment.php b/src/shared/environment/Environment.php index fb4f2461..854b7267 100644 --- a/src/shared/environment/Environment.php +++ b/src/shared/environment/Environment.php @@ -131,7 +131,7 @@ public function getRuntimeVersion() { return HHVM_VERSION; } - return PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION; + return PHP_VERSION; } /** From 43f38380a698d451bcbf48b7b459690fb4874932 Mon Sep 17 00:00:00 2001 From: Carlos C Soto Date: Wed, 9 May 2018 16:20:43 -0500 Subject: [PATCH 3/3] Only use composed php version if using constant throws exception --- src/services/phar/CompatibilityService.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/services/phar/CompatibilityService.php b/src/services/phar/CompatibilityService.php index 42638f69..93d51cde 100644 --- a/src/services/phar/CompatibilityService.php +++ b/src/services/phar/CompatibilityService.php @@ -49,12 +49,16 @@ public function canRun(Phar $phar) { case $requirement instanceof PhpVersionRequirement: { $php = $requirement->getVersionConstraint(); - $phpversion = PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION; - if (!$php->complies(new Version($phpversion))) { + try { + $phpversion = new Version(PHP_VERSION); + } catch (InvalidVersionException $ex) { + $phpversion = new Version(PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION); + } + if (!$php->complies($phpversion)) { $issues[] = sprintf( 'PHP Version %s required, but %s in use', $php, - $phpversion + PHP_VERSION ); } continue 2;