/** * Checks PHP extensions * * @return array */ public function checkPhpExtensions() { try { $required = $this->composerInformation->getRequiredExtensions(); $current = $this->phpInformation->getCurrent(); } catch (\Exception $e) { return [ 'responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR, 'data' => [ 'error' => 'phpExtensionError', 'message' => 'Cannot determine required PHP extensions: ' . $e->getMessage() ], ]; } $responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS; $missing = array_values(array_diff($required, $current)); if ($missing) { $responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR; } return [ 'responseType' => $responseType, 'data' => [ 'required' => $required, 'missing' => $missing, ], ]; }