1

我们的组织目前正在向 Windows Azure 中的 Linux VM 过渡,该 VM 为我们的客户提供各种网站服务。正如 Azure 文档中所建议的那样,我们在 ClearDB 上设置了一个 mysql 数据库,我们希望它能够保存上述网站的数据。

麻烦的是,我根本无法让我们的站点代码与 clearDB 进行通信。


编辑

从虚拟机上的 MYSQL 命令行连接确实有效,我们能够使用站点使用的相同凭据浏览数据库,但 php 仍然无法访问数据。


我们正在运行 php / codeigniter 作为该站点的后端,并且在我的站点本地副本中一切正常,但在部署到 azure 时总是无法连接数据库。

我已经在 azure VM 上安装了 tcptraceroute,并且能够成功 ping 端口 3306 上的 clearDB 机器,因此它对 VM 绝对可见,但由于某种原因对站点不可见。

下面是我的 codeigniter 数据库配置,它在我的本地机器上的 apache 下运行良好。

$active_group = "live";
$active_record = TRUE;

$db['live']['hostname'] = "eu-cdbr-azure-north-a.cloudapp.net"; 
$db['live']['username'] = "<<USER>>"; 
$db['live']['password'] = "<<PASSWORD>>"; 


$db['live']['database'] = "<<DB NAME>>";
$db['live']['dbdriver'] = "mysql";
$db['live']['dbprefix'] = "";
$db['live']['pconnect'] = TRUE;
$db['live']['db_debug'] = TRUE;
$db['live']['cache_on'] = FALSE;
$db['live']['cachedir'] = "";
$db['live']['char_set'] = "utf8";
$db['live']['dbcollat'] = "utf8_general_ci";
$db['live']['swap_pre'] = '';
$db['live']['autoinit'] = TRUE;
$db['live']['stricton'] = FALSE;

有谁知道,首先是否可以将 clearDB 用于 Azure VM 的数据服务(注意不是 Azure 网站——我知道这是可能的),其次,你到底是如何设置它的?

谢谢!

4

1 回答 1

1

已解决 - 我们的 apache 配置不正确,设置:

/usr/sbin/setsebool httpd_can_network_connect 1

解决了这个问题

于 2013-04-25T09:54:12.990 回答