猿问

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

我使用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


我做错了吗?


谢谢,


慕标5832272
浏览 947回答 3
3回答

蝴蝶刀刀

对我来说问题出在php.ini文件中。mysql.default_socket属性指向不存在的目录中的文件。该属性指向/var/mysql/mysql.sock但在OSX中,该文件位于/tmp/mysql.sock。一旦我更新了php.ini中的条目并重新启动了网络服务器,问题就解决了。

DIEA

我认为,PHP配置存在问题。首先,使用./config/database.php末尾的脚本调试数据库连接:...&nbsp; ...&nbsp; ...&nbsp; echo '<pre>';&nbsp; print_r($db['default']);&nbsp; echo '</pre>';&nbsp; echo 'Connecting to database: ' .$db['default']['database'];&nbsp; $dbh=mysql_connect&nbsp; (&nbsp; &nbsp; $db['default']['hostname'],&nbsp; &nbsp; $db['default']['username'],&nbsp; &nbsp; $db['default']['password'])&nbsp; &nbsp; or die('Cannot connect to the database because: ' . mysql_error());&nbsp; &nbsp; mysql_select_db ($db['default']['database']);&nbsp; &nbsp; echo '<br />&nbsp; &nbsp;Connected OK:'&nbsp; ;&nbsp; &nbsp; die( 'file: ' .__FILE__ . ' Line: ' .__LINE__);&nbsp;然后看看问题是什么。

慕的地6264312

今天我在实时服务器中遇到了这种问题,我解决了改变这条线的问题$db['default']['db_debug'] = TRUE;至$db['default']['db_debug'] = FALSE;
随时随地看视频慕课网APP
我要回答