Merge pull request #1119 from RedKage/patch-1

Support for mysql unix socket
This commit is contained in:
Samuel Denis-D'Ortun 2022-04-14 08:27:05 -04:00 committed by GitHub
commit 04a4d959fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 8 deletions

View File

@ -533,16 +533,29 @@ class Database
*/ */
protected function connect() protected function connect()
{ {
$isHostUnixSocket = strpos($this->db_host, ':') === 0;
// Initizale connection // Initizale connection
try { try {
$this->pdo = new \PDO( if ($isHostUnixSocket) {
'mysql:host=' . $this->db_host . $this->pdo = new \PDO(
';port=' . $this->db_port . 'mysql:unix_socket=' . ltrim($this->db_host, ':') .
';dbname=' . $this->db_name . ';dbname=' . $this->db_name .
';charset=utf8', ';charset=utf8',
$this->db_user, $this->db_user,
$this->db_pass $this->db_pass
); );
} else {
$this->pdo = new \PDO(
'mysql:host=' . $this->db_host .
';port=' . $this->db_port .
';dbname=' . $this->db_name .
';charset=utf8',
$this->db_user,
$this->db_pass
);
}
$this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$this->status = true; $this->status = true;
} catch (\PDOException $e) { } catch (\PDOException $e) {