我在一个项目中工作,该项目包括在Azure中部署PHP站点,并与Azure MySQL连接。
我从创建和迁移Azure MySQL中的数据开始。我还创建了PHP网站并部署了代码,但是当将连接字符串添加到web应用程序的配置部分时,它会给我一个错误:
值是所有连接字符串上的必需属性。
连接字符串:
$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的经验,所以我搜索了错误,但没有发现任何东西。
发布于 2019-09-11 02:14:24
如果您想在Azure web应用程序中添加我的sql连接字符串,请参考以下步骤




<?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;
?>

https://stackoverflow.com/questions/57836723
复制相似问题