2012-01-10 44 views
0

我有xampp服务器运行Codeiginiter 2.1.0和一个带有MySQL的网络服务器。 我已经与SQL-接待的远程访问,但是当我把同样的配置在CI我recive这个错误:如何使用本地代码的远程数据库?

A Database Error Occurred 

Unable to connect to your database server using the provided settings. 
Filename: C:\xampp\htdocs\mysite\trunk\system\database\DB_driver.php 
Line Number: 124 

database.php中:

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = 'myserver.com'; 
$db['default']['username'] = 'user_name'; 
$db['default']['password'] = 'pass'; 
$db['default']['database'] = 'database_name'; 
$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; 

有人知道如何连接到远程数据库? 感谢您的帮助!

+0

我发现的解决方案是在Windows上将xampp降级到版本1.7.3。在Linux上,问题是一样的...感谢您的帮助! – Calzzetta 2012-01-19 12:23:31

回答

0

在/application/config/database.php文件中,您可以在$db['default']['hostname']设置中定义外部数据库。

你需要通过你的web主机来查找你的外部数据库地址。某些主机还会限制通过IP地址进行外部访问,因此您可能还需要对其进行设置。

+0

我有权访问远程数据库。我已经做了一个php脚本来连接相同的配置和工作...问题是与CI。 – Calzzetta 2012-01-10 03:23:01

+0

你有没有试过打开'db_debug'? 如果没有显示任何内容,我会尝试设置'$ db ['default'] ['port']'值。 – 2012-01-10 06:32:53

+1

db_debug已打开。该端口默认为3306.我得到相同的错误... – Calzzetta 2012-01-10 13:03:45

1

我已经使用了像这样的mysql连接脚本。连接脚本需要主机名,用户名和密码。我是db的管理员,所以可以创建或设置参数值。

<?php 

// echo output below when called 
$con = mysql_connect($CFG->dbhost ,$CFG->dbuser, $CFG->dbpass); 

if (!$con){ 
    die('Could not connect: ' . mysql_error()); 
}else{ 
    mysql_select_db($CFG->dbname, $con); 
} 

?> 
0

一旦您具有远程连接的IP地址,请按照下列步骤操作。

Log into cPanel. 
Click the Remote MySQL button in the Databases section. 
Enter the remote IP address in the Add Access Host section. 
Click the Add Host button.