MDL-25910 add support for custom mysql socket location

This commit is contained in:
Petr Skoda
2011-01-14 10:20:04 +01:00
parent 5a7f931ee5
commit 79ac5a8cf2
+8 -2
View File
@@ -264,15 +264,21 @@ class mysqli_native_moodle_database extends moodle_database {
}
$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;