diff --git a/helpers/PrerequisiteChecker.php b/helpers/PrerequisiteChecker.php index 4fc17d41..be954b2a 100644 --- a/helpers/PrerequisiteChecker.php +++ b/helpers/PrerequisiteChecker.php @@ -3,13 +3,17 @@ class ERequirementNotMet extends Exception { } + +const REQUIRED_PHP_EXTENSIONS = array("fileinfo", "pdo_sqlite", "gd"); + class PrerequisiteChecker { public function checkRequirements() { - self::checkForConfigFile(); + /* self::checkForConfigFile(); self::checkForConfigDistFile(); self::checkForComposer(); - self::checkForYarn(); + self::checkForYarn(); */ + self::checkForPhpExtensions(); } @@ -32,6 +36,14 @@ class PrerequisiteChecker { if (!file_exists(__DIR__ . "/../public/node_modules")) throw new ERequirementNotMet("/public/node_modules not found. Have you run Yarn?"); } + + private function checkForPhpExtensions() { + $loadedExtensions = get_loaded_extensions(); + foreach (REQUIRED_PHP_EXTENSIONS as $extension) { + if (!in_array($extension, $loadedExtensions)) + throw new ERequirementNotMet("PHP module '{$extension}' not installed, but required."); + } + } }