X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=Civi%2FInstall%2FRequirements.php;h=586a0c75d2de3c2d458e00a97740305cf567c7b1;hb=2953cbdc87e9972c2a5eeeb1665c7e81673e3a11;hp=0381768218aca43d2adb5ac52b82ad088bf7930b;hpb=b059daf26b61dd28a0284f47cda83cc527d9a3ba;p=civicrm-core.git diff --git a/Civi/Install/Requirements.php b/Civi/Install/Requirements.php index 0381768218..586a0c75d2 100644 --- a/Civi/Install/Requirements.php +++ b/Civi/Install/Requirements.php @@ -58,6 +58,9 @@ class Requirements { * An array of check summaries. Each array contains the keys 'title', 'severity', and 'details'. */ public function checkAll(array $config) { + if (!class_exists('\CRM_Utils_SQL_TempTable')) { + require_once dirname(__FILE__) . '/../../CRM/Utils/SQL/TempTable.php'; + } return array_merge($this->checkSystem($config['file_paths']), $this->checkDatabase($config['db_config'])); } @@ -304,7 +307,8 @@ class Requirements { return $results; } - if (version_compare($info, $min) == -1) { + $versionDetails = mysqli_query($conn, 'SELECT version() as version')->fetch_assoc(); + if (version_compare($versionDetails['version'], $min) == -1) { $results['severity'] = $this::REQUIREMENT_ERROR; $results['details'] = "MySQL version is {$info}; minimum required is {$min}"; return $results; @@ -373,15 +377,15 @@ class Requirements { $results['details'] = "Could not select the database"; return $results; } - - $r = mysqli_query($conn, 'CREATE TEMPORARY TABLE civicrm_install_temp_table_test (test text)'); + $temporaryTableName = \CRM_Utils_SQL_TempTable::build()->setCategory('install')->getName(); + $r = mysqli_query($conn, 'CREATE TEMPORARY TABLE ' . $temporaryTableName . ' (test text)'); if (!$r) { $results['severity'] = $this::REQUIREMENT_ERROR; $results['details'] = "Database does not support creation of temporary tables"; return $results; } - mysqli_query($conn, 'DROP TEMPORARY TABLE civicrm_install_temp_table_test'); + mysqli_query($conn, 'DROP TEMPORARY TABLE ' . $temporaryTableName); return $results; }