"mysqli" is now a hard requirement in the PHP environment and must be loaded
for TYPO3 to run.
+* Separated database host and port setting
+
+As a side effect of the switch to mysqli, the database settings in
+TYPO3_CONF_VARS DB now accept a new "port" setting. This setting must be used
+if the database host is a ipv6 address and the port is different from the
+default port 3306, otherwise the backwards compatible logic could fail.
+
-------------------------------------------------------------------------------
Deprecated and removed components
-------------------------------------------------------------------------------
isset($GLOBALS['TYPO3_CONF_VARS']['DB']['extTablesDefinitionScript'])
? $GLOBALS['TYPO3_CONF_VARS']['DB']['extTablesDefinitionScript']
: 'extTables.php');
- unset($GLOBALS['TYPO3_CONF_VARS']['DB']);
define('TYPO3_user_agent', 'User-Agent: ' . $GLOBALS['TYPO3_CONF_VARS']['HTTP']['userAgent']);
return $this;
}
$databaseConnection->setDatabasePassword(TYPO3_db_password);
$databaseHost = TYPO3_db_host;
- // Check if a port was specified
- if (strpos($databaseHost, ':') > 0) {
+ if (isset($GLOBALS['TYPO3_CONF_VARS']['DB']['port'])) {
+ $databaseConnection->setDatabasePort($GLOBALS['TYPO3_CONF_VARS']['DB']['port']);
+ } elseif (strpos($databaseHost, ':') > 0) {
+ // @TODO: Find a way to handle this case in the install tool and drop this
list($databaseHost, $databasePort) = explode(':', $databaseHost);
$databaseConnection->setDatabasePort($databasePort);
}