我最近复制了一个codeigniter网站到一个带有新数据库的新域,起初编码设置为旧的数据库,因为它是一个直接的副本,一切都运行得很好。我创建了一个新的数据库,并从旧的导入了所有的表,然后在配置数据库文件中更改了所有的数据库细节。我确信所有细节都是正确的,并且我已经将我的新用户设置为所有权限。但是现在我的网站失败了,出现了以下错误:
Unable to connect to your database server using the provided settings.
Filename: root/third_party/MX/Loader.php
Line Number: 99在我的MX/Loader.php文件中如下所示
/**加载数据库驱动程序**/
public function database($params = '', $return = FALSE, $active_record = NULL) {
if (class_exists('CI_DB', FALSE) AND $return == FALSE AND $active_record == NULL AND isset(CI::$APP->db) AND is_object(CI::$APP->db))
return;
require_once BASEPATH.'database/DB'.EXT;
if ($return === TRUE) return DB($params, $active_record);
**CI::$APP->db = DB($params, $active_record);**
return CI::$APP->db;
}第99行突出显示,每一端都带有**。我找不出问题出在哪里,我已经搜索了可能的文件,但没有找到指向旧数据库或看起来需要指向新数据库的内容。非常感谢您的帮助!干杯。
发布于 2016-02-26 18:10:06
在config folder中打开database.php并在最后粘贴以下代码,然后首先调试您的数据库连接……
echo '<pre>';
print_r($db['default']);
echo '</pre>';
echo 'Connecting to database: ' .$db['default']['database'];
$dbh=mysql_connect
(
$db['default']['hostname'],
$db['default']['username'],
$db['default']['password'])
or die('Cannot connect to the database because: ' . mysql_error());
mysql_select_db ($db['default']['database']);
echo '<br /> Connected OK:' ;
die( 'file: ' .__FILE__ . ' Line: ' .__LINE__);发布于 2017-04-06 16:35:27
执行以下步骤:
1)在config/config.php文件中,=>设置正确的$config‘’base_url‘,例如$config’‘base_url’= 'http://myprojectttt.com';
2)检查文件、变量、数据库名等是否区分大小写
3)正确配置config/database.php文件
我已经给出了我的database.php文件配置供您参考
/*******************数据库配置开始*/
$db['default']['hostname'] = 'localhost';
//if you are not using any other db server keep "localhost as it is" => this solved my problem
$db['default']['username'] = 'ranjit';
$db['default']['password'] = 'ranjit';
$db['default']['database'] = 'database_name';
$db['default']['dbdriver'] = 'mysqli'; //change dbdriver to yours driver eg.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;/*******************数据库配置结束*/
如果此答案中有任何需要更改的地方,请发表意见。
谢谢。
https://stackoverflow.com/questions/35648768
复制相似问题