我已经将一个php网站部署到了azure。它有一个像这样的连接字符串:
$host = 'localhost';
$username = 'xxxxx';
$password = 'xxxxx';
$database = 'xxxxx';
$con = mysql_connect($host, $username, $password);
我需要在部署时更改它,以便指向ClearDB Mysql数据库。我发现端点的详细信息如下:
Database=XXXX;Data Source=eu-cdbr-azure-north-c.XXXX.net;User Id=XXXX;Password=XXXX
本文介绍如何使用Environment Variables创建连接字符串。
但我不知道如何使用mysql_connect()函数来完成这项工作。我已经尝试使用Microsoft为cleardb数据库提供的详细信息替换host,username,password和db的值,但是我收到错误'尝试以禁止的方式访问套接字它的访问权限 权限'
非常感谢任何建议。
答案 0 :(得分:1)
在您的PHP代码中,您可以执行此操作
foreach ($_SERVER as $key => $value) {
if (strpos($key, "MYSQLCONNSTR_") !== 0) {
continue;
}
$host = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value);
$username = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value);
$password = preg_replace("/^.*Password=(.+?)$/", "\\1", $value);
break;
}
/* now you can use the $host, $username, $password like you normally would */
$con = mysql_connect($host, $username, $password);