简体   繁体   中英

Error in connection string, PHP with MySQL deployed in Azure

I am working in a project which consist on deploying PHP web site in Azure and connecting with an Azure MySQL.

I started by creating and migrating the data in Azure MySQL. I also created the PHP web site and deployed the code but when added the connection string on configuration part of the web app it gives me an error:

value is a required property on all connection strings

the connection string:

$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});

I cannot save the connection string because the error is in red below the tab of the connection string.

Because I don't have experience with PHP and MySQL I googled the error but haven't found anything.

If you want to add my sql connection string in Azure web app, please refer to the following step

  1. Get connection string在此处输入图片说明

  2. Add connection string in Azure web app在此处输入图片说明

  3. Enable access from an Azure App Service to an Azure Database for MySQL

    Azure Database for MySQL provides access security using a firewall to protect your data. When connecting from an Azure App Service to Azure Database for MySQL server, keep in mind that the outbound IPs of App Service are dynamic in nature. Choosing the " Allow access to Azure services " option will allow the app service to connect to the MySQL server. 在此处输入图片说明

  4. upload perm file via kudu在此处输入图片说明

  5. Connect Azure MySQL with php

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

?>

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM