一尘不染

CodeIgniter:无法使用提供的设置连接到数据库服务器错误消息

mysql

我一直在使用CI驱动程序和MySQL驱动程序。我想改用MySQL驱动程序,但是一旦更改它(只需在MySQL末尾添加“
i”并添加端口号),我就会收到以下错误消息

发生数据库错误

无法使用提供的设置连接到数据库服务器。

文件名:core / Loader.php

行号:232

我的设置如下所示:

$db['default']['hostname'] = $hostname;
$db['default']['username'] = $username;
$db['default']['password'] = $password;
$db['default']['database'] = $database;
$db['default']['dbdriver'] = 'mysqli';
$db['default']['port']     = "3306";  
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

where
$hostname = 'localhost';
$username = 'myusernamegoeshere';
$password = 'mypasswordgoeshere';
$database = 'mydatabasenamegoeshere';

我在用着:

CI 2.0.2 php 5.3.4 Apache / 2.2.17(Unix)mysql 5.5.13 mysql.default_port 3306

我做错什么了吗?

谢谢,


阅读 505

收藏
2020-05-17

共1个答案

一尘不染

对我来说,问题出在php.ini文件中。mysql.default_socket属性指向一个不存在的目录中的文件。该属性指向,/var/mysql/mysql.sock但在OSX中,该文件位于/tmp/mysql.sock

一旦我更新了php.ini中的条目并重新启动了网络服务器,问题就解决了。

2020-05-17