diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index f51ec5ed9..874a79811 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -1031,7 +1031,10 @@ class Settings { /* {{{ */ case 'mysql': case 'mysqli': case 'mysqlnd': - $dsn = $this->_dbDriver.":dbname=".$this->_dbDatabase.";host=".$this->_dbHostname; + $tmp = explode(":", $this->_dbHostname); + $dsn = $this->_dbDriver.":dbname=".$this->_dbDatabase.";host=".$tmp[0]; + if(!empty($tmp[1])) + $dsn .= ";port=".$tmp[1]; break; case 'sqlite': $dsn = $this->_dbDriver.":".$this->_dbDatabase; diff --git a/install/install.php b/install/install.php index cf35141c9..23095f2bb 100644 --- a/install/install.php +++ b/install/install.php @@ -50,7 +50,10 @@ function openDBConnection($settings) { /* {{{ */ case 'mysql': case 'mysqli': case 'mysqlnd': - $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$settings->_dbHostname; + $tmp = explode(":", $settings->_dbHostname); + $dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0]; + if(isset($tmp[1])) + $dsn .= ";port=".$tmp[1]; break; case 'sqlite': $dsn = $settings->_dbDriver.":".$settings->_dbDatabase;