[ticket/10226] Allow mysqli connections via local sockets/pipes

PHPBB3-10226
This commit is contained in:
rxu 2011-06-21 00:21:42 +08:00
parent fd7e29131e
commit 578f9dffa6

View file

@ -43,7 +43,23 @@ class dbal_mysqli extends dbal
$this->dbname = $database; $this->dbname = $database;
$port = (!$port) ? NULL : $port; $port = (!$port) ? NULL : $port;
$this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port); // If port is set and it is not numeric, most likely mysqli socket is set.
// Try to map it to the $socket parameter.
$socket = NULL;
if ($port)
{
if (preg_match('#^[0-9]+$#', $port))
{
$port = (int) $port;
}
else
{
$socket = $port;
$port = NULL;
}
}
$this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port, $socket);
if ($this->db_connect_id && $this->dbname != '') if ($this->db_connect_id && $this->dbname != '')
{ {