|
@@ -648,14 +648,34 @@ EOF;
|
|
|
return implode('.', $chunks);
|
|
|
};
|
|
|
|
|
|
- $lowestOperator = $lowestPhpVersion->isInclusive() ? '>=' : '>';
|
|
|
- $highestOperator = $highestPhpVersion->isInclusive() ? '<=' : '<';
|
|
|
- $lowestPhpVersionId = $formatToPhpVersionId($lowestPhpVersion);
|
|
|
- $highestPhpVersionId = $formatToPhpVersionId($highestPhpVersion);
|
|
|
- $lowestPhpVersion = $formatToHumanReadable($lowestPhpVersion);
|
|
|
- $highestPhpVersion = $formatToHumanReadable($highestPhpVersion);
|
|
|
- $requiredExtensions = implode('', $requiredExtensions);
|
|
|
+ $requiredPhp = array();
|
|
|
+ $requiredPhpError = array();
|
|
|
+ if (!$lowestPhpVersion->isZero()) {
|
|
|
+ $operator = $lowestPhpVersion->isInclusive() ? '>=' : '>';
|
|
|
+ $requiredPhp[] = 'PHP_VERSION_ID '.$operator.' '.$formatToPhpVersionId($lowestPhpVersion);
|
|
|
+ $requiredPhpError[] = '"'.$operator.' '.$formatToHumanReadable($lowestPhpVersion).'"';
|
|
|
+ }
|
|
|
+ if (!$highestPhpVersion->isPositiveInfinity()) {
|
|
|
+ $operator = $highestPhpVersion->isInclusive() ? '<=' : '<';
|
|
|
+ $requiredPhp[] = 'PHP_VERSION_ID '.$operator.' '.$formatToPhpVersionId($highestPhpVersion);
|
|
|
+ $requiredPhpError[] = '"'.$operator.' '.$formatToHumanReadable($highestPhpVersion).'"';
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($requiredPhp) {
|
|
|
+ $requiredPhp = implode(' && ', $requiredPhp);
|
|
|
+ $requiredPhpError = implode(' and ', $requiredPhpError);
|
|
|
+ $requiredPhp = <<<PHP_CHECK
|
|
|
|
|
|
+if (!($requiredPhp)) {
|
|
|
+ \$issues[] = 'Your Composer dependencies require a PHP version $requiredPhpError. You are running ' . PHP_VERSION . '.';
|
|
|
+}
|
|
|
+
|
|
|
+PHP_CHECK;
|
|
|
+ } else {
|
|
|
+ $requiredPhp = '';
|
|
|
+ }
|
|
|
+
|
|
|
+ $requiredExtensions = implode('', $requiredExtensions);
|
|
|
if ('' !== $requiredExtensions) {
|
|
|
$requiredExtensions = <<<EXT_CHECKS
|
|
|
|
|
@@ -674,11 +694,7 @@ EXT_CHECKS;
|
|
|
// platform_check.php @generated by Composer
|
|
|
|
|
|
\$issues = array();
|
|
|
-
|
|
|
-if (!(PHP_VERSION_ID $lowestOperator $lowestPhpVersionId && PHP_VERSION_ID $highestOperator $highestPhpVersionId)) {
|
|
|
- \$issues[] = 'Your Composer dependencies require a PHP version "$lowestOperator $lowestPhpVersion" and "$highestOperator $highestPhpVersion". You are running ' . PHP_VERSION . '.';
|
|
|
-}
|
|
|
-$requiredExtensions
|
|
|
+${requiredPhp}${requiredExtensions}
|
|
|
if (\$issues) {
|
|
|
echo 'Composer detected issues in your platform:' . "\\n\\n" . implode("\\n", \$issues);
|
|
|
exit(104);
|