Веб-приложение Azure с подключением Laravel к серверу SQL - PullRequest
0 голосов
/ 04 октября 2018

У меня есть бесплатная пробная учетная запись Azure.Вот что у меня есть на портале Azure (все в этом списке, конечно, ресурс Azure):

  • PHP веб-приложение с работающей структурой Laravel установлено
  • Веб-приложение подключено (и само обновлено) к хранилищу Bitbucket
  • База данных SQL (и соответствующий сервер SQL)

Теперь вопрос в том, как мне установить соединение веб-приложения Laravel с базой данных SQL?

Другие важные сведения:

  1. В решении я хотел бы указать бесплатный план (так что, пожалуйста, нет решения, связанного с изменением плана Azure);
  2. Я попытался установить соединение локально (из примера кода, который я получил в сети), но я не смог из-за этой ошибки:

PHP Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect()

Я обнаружил, что эта ошибка была из-за того, что у меня нет этот драйвер установлен локально.Я даже не пытался установить его, потому что мое «реальное использование» будет с веб-сайта Laravel в Azure.


<?php
    $serverName = "****.database.windows.net";
    $connectionOptions = array(
        "Database" => "****",
        "Uid" => "admin-****",
        "PWD" => "#####"
    );

    //Establishes the connection
    $conn = sqlsrv_connect($serverName, $connectionOptions);
    $tsql= "SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
            FROM [SalesLT].[ProductCategory] pc
            JOIN [SalesLT].[Product] p
        ON pc.productcategoryid = p.productcategoryid";
    $getResults= sqlsrv_query($conn, $tsql);

    echo ("Reading data from table" . PHP_EOL);
    if ($getResults == FALSE)
        echo (sqlsrv_errors());
    while ($row = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)) {
        echo ($row['CategoryName'] . " " . $row['ProductName'] . PHP_EOL);
    }
    sqlsrv_free_stmt($getResults);
?>

1 Ответ

0 голосов
/ 04 октября 2018

Я не знаю, почему вы используете этот код в laravel.

Для Sql Server Connection laravel предоставляет драйверы, используйте для вашего случая:

В папке конфигурации> файл базы данных отредактируйте их:

  1. 'default' => env('DB_CONNECTION', 'mysql'), до

    'default' => 'sqlsrv',

    , если вы не хотите использовать переменные файла env, иначе обновите env var, чтобы отразить то же самое.

  2. updateзначения этого драйвера: 'connections' => [ 'sqlsrv' => [,

И для получения дополнительной помощи по развертыванию приложения laravel на Azure, проверьте это: https://medium.com/@coderonfleek/hosting-a-laravel-application-on-azure-web-app-b55e12514c46

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