【问题标题】:How to connect to a database in a different server using codeigniter如何使用 codeigniter 连接到不同服务器中的数据库
【发布时间】:2016-01-24 12:53:12
【问题描述】:

我已将我的数据库移至另一台服务器,而我的应用程序文件仍在当前服务器中。

我尝试了很多方法在新服务器中连接我的数据库,但它仍然显示

“消息:mysqli::real_connect() [mysqli.real-connect]: (HY000/2005): 未知 MySQL 服务器主机 'xxx.xxx.xxx.xxx:3306' (0)";

这就是我的database.php 的配置方式

'hostname' => 'xxx.xxx.xxx.xxx:3306',
'username' => '[my database user]',
'password' => '[my database password]',
'database' => '[my db]',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,

如果有人可以为我提供解决方案,我很感激

【问题讨论】:

  • 尝试不带 :3306 的主机名,端口是一个单独的选项,它可能应该默认为 3306。ellislab.com/codeigniter/user-guide/database/configuration.html
  • 嗨,我也试过不带端口。但结果还是一样
  • 您是否能够从 Web 服务器连接到数据库?即使用普通的mysql客户端。
  • 您可以访问WHM吗?

标签: php mysql codeigniter mysqli


【解决方案1】:

一般是这样的……

$db['default']['hostname'] = 'XXX.XX.XX.XXX'; //IP of server 
$db['default']['username'] = 'username';
$db['default']['password'] = 'password';
$db['default']['database'] = 'database_name';

注意:

请允许您的 IP 访问该数据库。也许这就是您无法连接远程数据库的原因,

提示:

  • 在您的CPanel中,进入Remote Database Access Hosts,然后将主机设置为% ..表示所有IP都可以访问到那个数据库。

【讨论】:

  • 我也允许IP了。但我仍然无法连接到数据库
【解决方案2】:

老兄,你是远程访问数据库,所以去你的新服务器的Remote MySQL选项,并添加写“%”(没有引号)在添加访问主机文本框中,[允许主机通配符输入]并单击添加主机按钮,然后正常访问您的数据库配置(不需要更改您的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-18
    • 2014-08-07
    • 2021-01-22
    • 2017-11-22
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多