MDL-25910 add support for custom mysql socket location
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user