我希望 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/