protected function Tasks::checkEngineVersion in Drupal 9
Same name in this branch
- 9 core/lib/Drupal/Core/Database/Install/Tasks.php \Drupal\Core\Database\Install\Tasks::checkEngineVersion()
- 9 core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php \Drupal\Core\Database\Driver\mysql\Install\Tasks::checkEngineVersion()
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Database/Install/Tasks.php \Drupal\Core\Database\Install\Tasks::checkEngineVersion()
Check the engine version.
2 calls to Tasks::checkEngineVersion()
- Tasks::checkEngineVersion in core/
lib/ Drupal/ Core/ Database/ Driver/ mysql/ Install/ Tasks.php - Check the engine version.
- Tasks::engineVersionRequirementsCheck in core/
lib/ Drupal/ Core/ Database/ Install/ Tasks.php - Checks engine version requirements for the status report.
1 method overrides Tasks::checkEngineVersion()
- Tasks::checkEngineVersion in core/
lib/ Drupal/ Core/ Database/ Driver/ mysql/ Install/ Tasks.php - Check the engine version.
File
- core/
lib/ Drupal/ Core/ Database/ Install/ Tasks.php, line 202
Class
- Tasks
- Database installer structure.
Namespace
Drupal\Core\Database\InstallCode
protected function checkEngineVersion() {
// Ensure that the database server has the right version.
// We append '-AnyName' to the minimum version for comparison purposes, so
// that engines that append a package name or other build information to
// their version strings still pass. For example, MariaDB might report its
// version as '10.2.7-MariaDB' or '10.2.7+maria' or similar.
// version_compare() treats '-' and '+' as equivalent, and non-numeric
// parts other than conventional stability specifiers (dev, alpha, beta,
// etc.) as equal to each other and less than numeric parts and stability
// specifiers. In other words, 10.2.7-MariaDB, 10.2.7+maria, and
// 10.2.7-AnyName are all equal to each other and less than 10.2.7-alpha.
// This means that by appending '-AnyName' for the comparison check, that
// alpha and other pre-release versions of the minimum will pass this
// check, which isn't ideal; however, people running pre-release versions
// of database servers should know what they're doing, whether Drupal warns
// them or not.
// @see https://www.php.net/manual/en/function.version-compare.php
if ($this
->minimumVersion() && version_compare(Database::getConnection()
->version(), $this
->minimumVersion() . '-AnyName', '<')) {
$this
->fail(t("The database server version %version is less than the minimum required version %minimum_version.", [
'%version' => Database::getConnection()
->version(),
'%minimum_version' => $this
->minimumVersion(),
]));
}
}