/** * Checks PHP version * * @return array */ public function checkPhpVersion() { try { $requiredVersion = $this->composerInformation->getRequiredPhpVersion(); } catch (\Exception $e) { return [ 'responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR, 'data' => [ 'error' => 'phpVersionError', 'message' => 'Cannot determine required PHP version: ' . $e->getMessage() ], ]; } $multipleConstraints = $this->versionParser->parseConstraints($requiredVersion); try { $normalizedPhpVersion = $this->versionParser->normalize(PHP_VERSION); } catch (\UnexpectedValueException $e) { $prettyVersion = preg_replace('#^([^~+-]+).*$#', '$1', PHP_VERSION); $normalizedPhpVersion = $this->versionParser->normalize($prettyVersion); } $currentPhpVersion = $this->versionParser->parseConstraints($normalizedPhpVersion); $responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS; if (!$multipleConstraints->matches($currentPhpVersion)) { $responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR; } return [ 'responseType' => $responseType, 'data' => [ 'required' => $requiredVersion, 'current' => PHP_VERSION, ], ]; }
/** * Checks PHP version * * @return array */ public function checkPhpVersion() { try { $requiredVersion = $this->composerInformation->getRequiredPhpVersion(); } catch (\Exception $e) { return ['responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR, 'data' => ['error' => 'phpVersionError', 'message' => 'Cannot determine required PHP version: ' . $e->getMessage()]]; } $multipleConstraints = $this->versionParser->parseConstraints($requiredVersion); $normalizedPhpVersion = $this->getNormalizedCurrentPhpVersion(PHP_VERSION); $currentPhpVersion = $this->versionParser->parseConstraints($normalizedPhpVersion); $responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS; if (!$multipleConstraints->matches($currentPhpVersion)) { $responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR; } return ['responseType' => $responseType, 'data' => ['required' => $requiredVersion, 'current' => PHP_VERSION]]; }