为了账号安全,请及时绑定邮箱和手机立即绑定

连接字符串错误,PHP 和 MySQL 部署在 Azure 中

连接字符串错误,PHP 和 MySQL 部署在 Azure 中

PHP
饮歌长啸 2022-01-02 20:18:05
我在一个项目中工作,该项目包括在 Azure 中部署 PHP 网站并与 Azure MySQL 连接。我首先在 Azure MySQL 中创建和迁移数据。我还创建了 PHP 网站并部署了代码,但是当在 Web 应用程序的配置部分添加连接字符串时,它给了我一个错误:value 是所有连接字符串的必需属性连接字符串:$con=mysqli_init(); [mysqli_ssl_set($con, NULL, NULL, {ca-cert filename}, NULL, NULL);] mysqli_real_connect($con, {your_host}, {username@servername}, {your_password}, {your_database}, {your_port});我无法保存连接字符串,因为错误在连接字符串选项卡下方显示为红色。因为我没有使用 PHP 和 MySQL 的经验,所以我用谷歌搜索了错误但没有找到任何东西。
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

如果要在Azure web app中添加my sql连接字符串,请参考以下步骤

  1. 获取连接字符串

//img1.sycdn.imooc.com//61d198160001b3c415840554.jpg

在 Azure Web 应用中添加连接字符串

//img1.sycdn.imooc.com//61d1982700010c1a16270625.jpg

启用从 Azure 应用服务到 MySQL 的 Azure 数据库的访问

Azure Database for MySQL 使用防火墙保护数据提供访问安全性。从 Azure 应用服务连接到 Azure Database for MySQL 服务器时,请记住,应用服务的出站 IP 本质上是动态的。选择“允许访问 Azure 服务”选项将允许应用服务连接到 MySQL 服务器。

//img1.sycdn.imooc.com//61d19835000136b010210387.jpg

通过kudu上传perm文件

//img1.sycdn.imooc.com//61d198430001ed8010090651.jpg

使用 php 连接 Azure MySQL


<?php

$connectstr_dbhost = '';

$connectstr_dbname = '';

$connectstr_dbusername = '';

$connectstr_dbpassword = '';

foreach ($_SERVER as $key => $value) {

    if (strpos($key, "MYSQLCONNSTR_") !== 0) {

        continue;

    }


    $connectstr_dbhost = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value);

    $connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value);

    $connectstr_dbusername = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value);

    $connectstr_dbpassword = preg_replace("/^.*Password=(.+?)$/", "\\1", $value);

}


$conn = mysqli_init();

mysqli_ssl_set($conn,NULL,NULL, "D:/home/site/wwwroot/Cert/BaltimoreCyberTrustRoot.crt.pem", NULL, NULL) ;

mysqli_real_connect($conn, $connectstr_dbhost, $connectstr_dbusername, $connectstr_dbpassword, $connectstr_dbname, 3306, MYSQLI_CLIENT_SSL);

if (mysqli_connect_errno($conn)) {

die('Failed to connect to MySQL: '.mysqli_connect_error());

}

echo "Success: A proper connection to MySQL was made! The  database is great." . PHP_EOL;

echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;


?>

//img1.sycdn.imooc.com//61d1985000019a1b10150271.jpg

查看完整回答
反对 回复 2022-01-02
  • 1 回答
  • 0 关注
  • 272 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号