From 06bc8c271e51f449c3ccd96e43f6478175f39c51 Mon Sep 17 00:00:00 2001 From: Marc Ole Bulling Date: Tue, 28 Apr 2020 12:41:34 +0200 Subject: [PATCH] Changed to SqlitePDO --- helpers/PrerequisiteChecker.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/helpers/PrerequisiteChecker.php b/helpers/PrerequisiteChecker.php index b13ea989..66701d04 100644 --- a/helpers/PrerequisiteChecker.php +++ b/helpers/PrerequisiteChecker.php @@ -2,9 +2,8 @@ class ERequirementNotMet extends Exception { } -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 +const REQUIRED_PHP_EXTENSIONS = array('fileinfo', 'pdo_sqlite', 'gd'); +const REQUIRED_SQLITE_VERSION = "3.8.3"; class PrerequisiteChecker { @@ -57,10 +56,17 @@ class PrerequisiteChecker private function checkForSqliteVersion() { - $sqliteVersion = SQLite3::version()["versionNumber"]; - if ($sqliteVersion < REQUIRED_SQLITE_VERSION_INT) + $sqliteVersion = self::getSqlVersionAsString(); + if (version_compare($sqliteVersion, REQUIRED_SQLITE_VERSION, '<')) { - throw new ERequirementNotMet('SQLite ' . REQUIRED_SQLITE_VERSION_STRING . ' is required, however you are running ' . SQLite3::version()["versionString"]); + throw new ERequirementNotMet('SQLite ' . REQUIRED_SQLITE_VERSION . ' is required, however you are running ' . $sqliteVersion); } } + + private function getSqlVersionAsString() + { + $dbh = new PDO('sqlite::memory:'); + return $dbh->query('select sqlite_version()')->fetch()[0]; + } + }