您好我正在使用MAMP和Codeigniter。 Codeigniter 版本是2.x 我在Linux [LAMP]上构建了一个应用程序,现在我想将应用程序移动到MAC Book。当我打开Localhost时,它显示错误:
发生数据库错误
无法使用提供的设置连接到数据库服务器。
文件名:core / Loader.php
行号:347
现在可能是什么原因?我的凭证是正确的,但也许我试图以错误的方式访问它?
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'biz_prov';
$db['default']['dbdriver'] = 'mysql';
$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;
在LAMP中我必须做localhost / project但是在这里我有 localhost:8888 / projectname 这可能是原因吗?
答案 0 :(得分:1)
这个问题可能有几个原因:
dbdriver :用 mysqli 替换 mysql 为我工作,如果不起作用,你也可以试试 SQLSRV 强>
$db['default']['dbdriver'] = 'mysqli'; // mysqli for mac,
$db['default']['dbdriver'] = 'mysql'; //mysql for windows
pconnect :您可能需要设置为 FALSE
$db['default']['pconnect'] = TRUE;
和,的证书即可。请验证您的用户名和密码,因为当凭据不匹配时,它会给出相同的错误。
一次一件事,你可能不需要修改所有内容,但是当某些东西不起作用时尝试也不会有害:)
参考样本:
$db['default']['hostname'] = 'localhost'; // try using ip or ip and port if needed(trying doesn't hurt).
$db['default']['username'] = '*****'; // provide your username
$db['default']['password'] = '*****'; // provide your password
$db['default']['database'] = 'storedb';
$db['default']['dbdriver'] = 'mysqli'; // mysqli for mac, mysql for windows
$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;
答案 1 :(得分:0)
尝试为localhost:port
设置$db['default']['hostname']
,因此在您的情况下看起来应该如此
$db['default']['hostname'] = 'localhost:8888';
如果您有任何进一步的疑问,请告诉我