Microsoft Azure для MySQL не может подключиться к БД с помощью PHP - PullRequest
0 голосов
/ 22 января 2020

Доброе утро всем, я пытаюсь подключиться к своему Azure серверу для MySQL, используя php, но выдает ошибку. Файл php запускается каждый день в 00:00 на сервере, где размещается мой веб-сайт, и должен подключаться к базе данных azure, чтобы выполнять запросы к базе данных Azure. Я получаю сообщение об ошибке «Превышено время ожидания соединения». Я попытался добавить в свой брандмауэр правило с ip-адресом моего сервера с помощью следующей команды: «az mysql server firewall-rule create --resource-group myresourcegroup - сервер mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1 ", очевидно, меняются значения, но это не удается ... Я прилагаю код ниже:

$conAzure = mysqli_init();
        mysqli_ssl_set($conAzure, NULL, NULL, "pathToSSLCert",NULL, NULL);
        mysqli_real_connect($conAzure, "test.mysql.database.azure.com", "test@test", "test", "proj_sophie", 3306, MYSQLI_CLIENT_SSL);

        // Check connection
        if ($conAzure->connect_error) {
// THE PROGRAM STOPS HERE
            die("Connection failed: " . $conAzure->connect_error);
        }
        echo "Connected successfully";

        $sqlAzure1 = "TRUNCATE TABLE elenco_post;";
            if ($conAzure->query($sqlAzure1) === TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $sqlAzure1 . "<br>" . $conAzure->error;
            }

// inserting in the selected table and fields the data (it's in a for-each so don't worry for the repetitions).
$sqlAzure2 = "INSERT INTO elenco_post ('ID', 'Titolo', 'Contenuto', 'Data', 'URL', 'Ultima_Modifica', 'URL_Immagine', 'Nome_immagine', 'Categoria') VALUES ('".get_the_ID()."',
                    '".get_the_title()."',
                    '".get_the_content()."',
                    '".get_the_date()."',
                    '".get_permalink()."',
                    '".get_the_modified_date()."',
                    '".get_the_post_thumbnail_url(get_the_ID(),'full')."',
                    '".get_post(get_post_thumbnail_id())->post_title."',
                    '".$category."');";
            if ($conAzure->query($sqlAzure2) === TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $sqlAzure2 . "<br>" . $conAzure->error;
            }




Спасибо, жду поддержки!

1 Ответ

0 голосов
/ 24 января 2020

- start-ip-address 192.168.0.1

Это выглядит невероятно для клиентского адреса, работающего в Azure. Где ваш PHP работает? Я подозреваю, что вы используете его на домашней P C в замаскированной локальной сети - в этом случае это , а не IP-адрес, который подключается к Azure, просто адрес, который вы используете для подключения к маршрутизатору .

Попробуйте https://whatismyipaddress.com/, чтобы узнать, какой у вас сейчас адрес - но если я прав, он будет регулярно меняться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...