diff --git a/helpers/PrerequisiteChecker.php b/helpers/PrerequisiteChecker.php index ea46c39e..742e74fe 100644 --- a/helpers/PrerequisiteChecker.php +++ b/helpers/PrerequisiteChecker.php @@ -2,12 +2,15 @@ class ERequirementNotMet extends Exception { } -const REQUIRED_PHP_EXTENSIONS = array('fileinfo', 'pdo_sqlite', 'gd'); +const REQUIRED_PHP_EXTENSIONS = array('fileinfo', 'pdo_sqlite', 'gd'); +const REQUIRED_SQLITE_VERSION_INT = "3008003"; //3.8.3 - this value will be checked +const REQUIRED_SQLITE_VERSION_STRING = "3.8.3"; //This value is just for error output, no check is done class PrerequisiteChecker { public function checkRequirements() { + self::checkForSqliteVersion(); self::checkForConfigFile(); self::checkForConfigDistFile(); self::checkForComposer(); @@ -50,4 +53,14 @@ class PrerequisiteChecker } } } + + + private function checkForSqliteVersion() + { + $sqliteVersion = SQLite3::version()["versionNumber"]; + if ($sqliteVersion < REQUIRED_SQLITE_VERSION_INT) + { + throw new ERequirementNotMet('SQLite ' . REQUIRED_SQLITE_VERSION_STRING . ' is required, however you are running ' . SQLite3::version()["versionString"]); + } + } }