// used? set to 'false' for the most stable
// setting, 'true' can improve performance
// sometimes
- 'dbsocket' => false, // should connection via UNIX socket be
- // used? if you set it to 'true' here,
- // set dbhost to 'localhost'
+ 'dbsocket' => false, // should connection via UNIX socket be used?
+ // if you set it to 'true' or custom path
+ // here set dbhost to 'localhost',
+ // (please note mysql is always using socket
+ // if dbhost is 'localhost' - if you need
+ // local port connection use '127.0.0.1')
'dbport' => '', // the TCP port number to use when connecting
// to the server. keep empty string for the
// default port
}
$this->store_settings($dbhost, $dbuser, $dbpass, $dbname, $prefix, $dboptions);
- unset($this->dboptions['dbsocket']);
+ // dbsocket is used ONLY if host is NULL or 'localhost',
+ // you can not disable it because it is always tried if dbhost is 'localhost'
+ if (!empty($this->dboptions['dbsocket']) and strpos($this->dboptions['dbsocket'], '/') !== false) {
+ $dbsocket = $this->dboptions['dbsocket'];
+ } else {
+ $dbsocket = ini_get('mysqli.default_socket');
+ }
if (empty($this->dboptions['dbport'])) {
$dbport = ini_get('mysqli.default_port');
} else {
$dbport = (int)$this->dboptions['dbport'];
}
ob_start();
- $this->mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname, $dbport);
+ $this->mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbsocket);
$dberr = ob_get_contents();
ob_end_clean();
$errorno = @$this->mysqli->connect_errno;
// Unix socket connections should have lower overhead
if (!empty($this->dboptions['dbsocket']) and ($this->dbhost === 'localhost' or $this->dbhost === '127.0.0.1')) {
$connection = "user='$this->dbuser' password='$pass' dbname='$this->dbname'";
+ if (strpos($this->dboptions['dbsocket'], '/') !== false) {
+ $connection = $connection." host='".$this->dboptions['dbsocket']."'";
+ }
} else {
- $this->dboptions['dbsocket'] = 0;
+ $this->dboptions['dbsocket'] = '';
if (empty($this->dbname)) {
// probably old style socket connection - do not add port
$port = "";