mysql - 无法使用 Codeigniter 连接到外部数据库

标签 mysql codeigniter

我希望 Codeigntier 连接到另一台服务器(不是本地主机)上的 MySQL 数据库。我如何在 config/database.php 文件中配置它?

我使用正确的用户名/密码将主机名设置为 IP 地址,但它不起作用。

我得到的错误是:

A Database Error Occurred: Unable to connect to your database server using the provided settings.

最佳答案

Heru,您似乎只是想将当前的数据库配置从本地主机更改为您的实时服务器。为此,打开 application/config 文件夹中的 database.php 文件。然后找到这些行。

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = ''; // might be empty or might be full 
$db['default']['database'] = 'your_database';

并将其更改为 . . .

$db['default']['hostname'] = 'your_host_name'; 
$db['default']['username'] = 'your_user_name';
$db['default']['password'] = 'your_password';
$db['default']['database'] = 'your_new_database';

取决于您是否在共享主机上以及其他因素。您的主机可能会为您提供一个新的主机名,可能需要一个密码,并可能会为您提供一个预先配置的数据库名称。查看主机提供商以获取这些信息。

如果这不起作用。 . .

您也可以尝试将其更改为这个,它会找到您的服务器 IP 并将其转换为命名地址,但您的数据库可能位于也可能不位于不同的地址。但值得一试。

$hostIP = $_SERVER['SERVER_ADDR'];
(string)$hostname = gethostbyaddr($hostIP);

$db['default']['hostname'] = $hostname; 
$db['default']['username'] = 'your_user_name';
$db['default']['password'] = 'your_password';
$db['default']['database'] = 'your_new_database';

另外,如果你对你的数据库 IP 有信心,请更改上面的内容

(字符串)$hostname = gethostbyaddr($hostIP)

(字符串)$hostname = gethostbyaddr('10.11.12.123');//使用您的 IP #

关于mysql - 无法使用 Codeigniter 连接到外部数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7126534/

相关文章:

c# - MySql.Data错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

php_mysql_assoc 忽略第一条记录

jquery - 无法访问通过 jQuery ajax 发送的我的 Post 值

php - 如果使用 codeigniter 某些列为空,则查询不显示结果

php - 未拾取 CodeIgniter 文件输入

java - 获取 Spring Security ACL 查找以使用 mysql 只读副本

php - 我的投票有一个 'back button' 漏洞

mysql - 如何通过 cakephp phinx 迁移迁移列类型 DOUBLE?

php - 如何选择即将到来的日期和时间的记录?

php - CodeIgniter URI 路由 - 如何删除 index.php