From 79ac5a8cf2c6fe3214aaac4628dd27da27f1ff06 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Fri, 14 Jan 2011 10:20:04 +0100 Subject: [PATCH] MDL-25910 add support for custom mysql socket location --- lib/dml/mysqli_native_moodle_database.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/dml/mysqli_native_moodle_database.php b/lib/dml/mysqli_native_moodle_database.php index d4cb065b9a3..b22ca0943d4 100644 --- a/lib/dml/mysqli_native_moodle_database.php +++ b/lib/dml/mysqli_native_moodle_database.php @@ -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; -- 2.43.0