Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 protected function checkEngineVersion()
 {
     parent::checkEngineVersion();
     // Ensure that the MySQL driver supports utf8mb4 encoding.
     $version = Database::getConnection()->clientVersion();
     if (FALSE !== strpos($version, 'mysqlnd')) {
         // The mysqlnd driver supports utf8mb4 starting at version 5.0.9.
         $version = preg_replace('/^\\D+([\\d.]+).*/', '$1', $version);
         if (version_compare($version, self::MYSQLND_MINIMUM_VERSION, '<')) {
             $this->fail(t("The MySQLnd driver version %version is less than the minimum required version. Upgrade to MySQLnd version %mysqlnd_minimum_version or up, or alternatively switch mysql drivers to libmysqlclient version %libmysqlclient_minimum_version or up.", array('%version' => $version, '%mysqlnd_minimum_version' => self::MYSQLND_MINIMUM_VERSION, '%libmysqlclient_minimum_version' => self::LIBMYSQLCLIENT_MINIMUM_VERSION)));
         }
     } else {
         // The libmysqlclient driver supports utf8mb4 starting at version 5.5.3.
         if (version_compare($version, self::LIBMYSQLCLIENT_MINIMUM_VERSION, '<')) {
             $this->fail(t("The libmysqlclient driver version %version is less than the minimum required version. Upgrade to libmysqlclient version %libmysqlclient_minimum_version or up, or alternatively switch mysql drivers to MySQLnd version %mysqlnd_minimum_version or up.", array('%version' => $version, '%libmysqlclient_minimum_version' => self::LIBMYSQLCLIENT_MINIMUM_VERSION, '%mysqlnd_minimum_version' => self::MYSQLND_MINIMUM_VERSION)));
         }
     }
 }