【问题标题】:Connecting to clearDB mysql database from php Azure application using MySQL_connect使用 MySQL_connect 从 php Azure 应用程序连接到 clearDB mysql 数据库
【发布时间】:2014-06-01 09:11:04
【问题描述】:

我已经将一个 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

本文介绍了如何使用环境变量创建连接字符串。

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

但我不确定如何使用 mysql_connect() 函数来完成这项工作。我已尝试用 Microsoft 为 cleardb 数据库提供的详细信息替换主机、用户名、密码和 db 的值,但我收到错误 '试图以访问禁止的方式访问套接字 权限'

非常感谢您的任何建议。

【问题讨论】:

    标签: php connection azure-web-app-service mysql-connect cleardb


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 2020-03-23
      • 2012-04-07
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多