codeigniter - 将我的 Azure Linux VM 连接到 clearDB MySQL 数据库的步骤是什么?

标签 codeigniter azure centos firewall

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

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

<小时/>

编辑

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

<小时/>

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

我已在 azure 虚拟机上安装了 tcptraceroute,并且能够在端口 3306 上成功 ping 通 ClearDB 计算机,因此它对虚拟机绝对可见,但由于某种原因对站点不可见。

下面是我的 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;

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

谢谢!

最佳答案

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

/usr/sbin/setsebool httpd_can_network_connect 1

解决了问题

关于codeigniter - 将我的 Azure Linux VM 连接到 clearDB MySQL 数据库的步骤是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16197295/

相关文章:

php - codeigniter php 输出代码不是结果

sql-server - SQL Server Data Tools 在轻度 DAX 计算中崩溃

Azure Web应用程序在创建后添加deploymentLocalGitUrl

gcc - undefined reference 错误链接共享对象

php - 在 Codeigniter 3 中通过 Office365 帐户发送电子邮件 - 连接超时

php - 为什么我使用 CI session 的登录系统不允许我检索存储在数据库中的任何数据

php - 在PHP中将当前日期添加到mysql数据库

azure - 从另一个 Azure DevOps Git 存储库运行 YAML 管道

linux - Vagrant 永远不会完成 `up`

MySQLDump 不导出数据或结构