mysql - 无法使用 CodeIgniter 连接到 MySQL。可能的 DNS 问题?

标签 mysql codeigniter

我正在使用 Codeigniter 运行开发 LAMP。但是,当我尝试加载页面时,数据库无法连接(数据库实际上位于另一台服务器上),并且出现此错误:

A Database Error Occurred

Unable to connect to your database server using the provided settings.

Filename: core/Loader.php

Line Number: 346

我的database.php是这样的:

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

$db['default']['hostname'] = 'myhost.com';
$db['default']['username'] = 'myusername';
$db['default']['password'] = 'mypassword';
$db['default']['database'] = 'mytable';
$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;

如果我将“pconnect”和/或“db_debug”更改为 false,我会收到相同的错误,或者它不起作用。我知道数据库已启动并正确运行,因为其他人能够连接并使用它。

但是,如果我将主机的IP地址放入database.php文件中,它就可以工作。 我尝试刷新 DNS,甚至更改为 Google 的 DNS 服务器,但无济于事。

简单 mysql_connect 的结果是:

A PHP Error was encountered

Severity: Warning

Message: mysql_connect(): php_network_getaddresses: getaddrinfo failed: Name or service    not known

Filename: config/database.php

Line Number: 67

A PHP Error was encountered

Severity: Warning

Message: mysql_connect(): [2002] php_network_getaddresses: getaddrinfo failed: Name or     service not known (trying to connect via tcp://myhost.com:3306)

Filename: config/database.php

Line Number: 67

A PHP Error was encountered

Severity: Warning

Message: mysql_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known

Filename: config/database.php

Line Number: 67

Could not connect: php_network_getaddresses: getaddrinfo failed: Name or service not known 

最佳答案

尝试改变这个

$db['default']['db_debug'] = TRUE;

对此:

$db['default']['db_debug'] = FALSE;

关于mysql - 无法使用 CodeIgniter 连接到 MySQL。可能的 DNS 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080247/

相关文章:

MySQL:永久设置 sql_mode

php - 重置 PDO 中的光标位置

php - SELECT LAST_INSERT_ID() 间歇性返回 0

javascript - 无法从ajax请求中的php返回获得响应

php - Codeigniter URI 路由和安全

php - 使用 Codeigniter 在电子邮件中发送 pdf 而不将其保存在服务器上

CodeIgniter上传多个文件到多个目录

mysql - 编写 SQL 查询以查找至少出现 3 次的所有数字

php - 使用php同时处理数据库中的多个条目

php - 将MySql表数据选入数组