如何使用 codeigniter 连接到不同服务器中的数据库
Posted
技术标签:
【中文标题】如何使用 codeigniter 连接到不同服务器中的数据库【英文标题】:How to connect to a database in a different server using 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
吗?
【参考方案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选项,并添加写“%”(没有引号)在添加访问主机文本框中,[允许主机通配符输入]并单击添加主机按钮,然后正常访问您的数据库配置(不需要更改您的代码)
【讨论】:
以上是关于如何使用 codeigniter 连接到不同服务器中的数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Codeigniter 3 中连接到 POSTGRESQL?
如何在 CodeIgniter 中连接到 SQL Server 数据库?
Codeigniter 无法连接到外部 SQL Server