projects
/
civicrm-core.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #17843 from civicrm/5.28
[civicrm-core.git]
/
Civi
/
Install
/
Requirements.php
diff --git
a/Civi/Install/Requirements.php
b/Civi/Install/Requirements.php
index 0381768218aca43d2adb5ac52b82ad088bf7930b..d5f3d648ebf242cd23a90146144b54c63c8f7d18 100644
(file)
--- a/
Civi/Install/Requirements.php
+++ b/
Civi/Install/Requirements.php
@@
-28,12
+28,15
@@
class Requirements {
*/
protected $system_checks = [
'checkMemory',
*/
protected $system_checks = [
'checkMemory',
- 'checkServerVariables',
'checkMysqlConnectExists',
'checkJsonEncodeExists',
'checkMultibyteExists',
];
'checkMysqlConnectExists',
'checkJsonEncodeExists',
'checkMultibyteExists',
];
+ protected $system_checks_web = [
+ 'checkServerVariables',
+ ];
+
protected $database_checks = [
'checkMysqlConnection',
'checkMysqlVersion',
protected $database_checks = [
'checkMysqlConnection',
'checkMysqlVersion',
@@
-58,6
+61,9
@@
class Requirements {
* An array of check summaries. Each array contains the keys 'title', 'severity', and 'details'.
*/
public function checkAll(array $config) {
* 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']));
}
return array_merge($this->checkSystem($config['file_paths']), $this->checkDatabase($config['db_config']));
}
@@
-80,6
+86,12
@@
class Requirements {
$errors[] = $this->$check();
}
$errors[] = $this->$check();
}
+ if (PHP_SAPI !== 'cli') {
+ foreach ($this->system_checks_web as $check) {
+ $errors[] = $this->$check();
+ }
+ }
+
return $errors;
}
return $errors;
}
@@
-304,7
+316,8
@@
class Requirements {
return $results;
}
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;
$results['severity'] = $this::REQUIREMENT_ERROR;
$results['details'] = "MySQL version is {$info}; minimum required is {$min}";
return $results;
@@
-373,15
+386,15
@@
class Requirements {
$results['details'] = "Could not select the database";
return $results;
}
$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;
}
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;
}
return $results;
}