= %s is required to install BookStack.", static::$phpVersion); } foreach (static::$extensions as $extension) { if (!extension_loaded($extension)) { $errors[] = "The \"{$extension}\" PHP extension is required but not active."; } } try { (new ProgramRunner('git', '/usr/bin/git'))->ensureFound(); (new ProgramRunner('php', '/usr/bin/php'))->ensureFound(); } catch (Exception $exception) { $errors[] = $exception->getMessage(); } if (count($errors) > 0) { throw new Exception("Requirements failed with following errors:\n" . implode("\n", $errors)); } } }