使用MySQL_connect从php Azure应用程序连接到clearDB mysql数据库

时间:2014-06-01 09:11:04

标签: php connection azure-web-sites mysql-connect cleardb

我已经将一个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创建连接字符串。

[http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/]

但我不知道如何使用mysql_connect()函数来完成这项工作。我已经尝试使用Microsoft为cleardb数据库提供的详细信息替换host,username,password和db的值,但是我收到错误'尝试以禁止的方式访问套接字它的访问权限 权限'

非常感谢任何建议。

1 个答案:

答案 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);