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()
{
$isHostUnixSocket = strpos($this->db_host, ':') === 0;
// Initizale connection
try {
$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
);
if ($isHostUnixSocket) {
$this->pdo = new \PDO(
'mysql:unix_socket=' . ltrim($this->db_host, ':') .
';dbname=' . $this->db_name .
';charset=utf8',
$this->db_user,
$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->status = true;
} catch (\PDOException $e) {