Хорошо, короче говоря, драйвер mysqli от codeigniter не поддерживает работу с сокетами.Или, по крайней мере, я не мог найти правильную настройку для этого.
Я добавил параметр в класс драйвера и теперь он работает.
в /System/database/drivers/mysqli_driver.php
if ($this->port != '')
{
return @mysqli_connect($this->hostname, $this->username, $this->password, $this->database, $this->port, $this->socket); // $this->socket is new, i've added the same variable in my database.php
}
else
{
return @mysqli_connect($this->hostname, $this->username, $this->password, $this->database);
}
и в /application / config / database.php
$db['live']['socket'] = "/tmp/mysql5.sock";
Вероятно, это все, что нужно сделать.Я провел некоторое тестирование, и даже если phpinfo сообщит мне, что default_socket для mysqli - это не mysql5.sock, он работает просто отлично.