Как подключиться к серверу SQL из php (Laravel) - PullRequest
0 голосов
/ 13 февраля 2019

В окне Linux / Ubuntu я пытаюсь подключиться к внешней базе данных SQL Server, но получаю только ошибки.Я знаю, что имя хоста, имя БД и учетные данные верны, и я не могу их изменить.

$odbc="odbc:Driver={SQL Server};Server=$server;Database=$database;";
$db = new PDO($odbc, $user, $password);

Это просто дает мне could not find driver.Я перепробовал все учебники, которые смог найти, установил тонны пакетов и перезапускал nginx снова и снова.Я не знаю, что делать дальше.

1 Ответ

0 голосов
/ 13 февраля 2019

Вам необходимо установить драйверы для php: https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017

Затем обновите config/database.php, чтобы использовать соединение и драйвер sqlserv:

'default' => env('DB_CONNECTION', 'sqlsrv'),

'connections' => [

    'sqlsrv' => [
       'driver'   => 'sqlsrv',
       'host'     => env('DB_HOST',     'localhost'),
       'database' => env('DB_DATABASE', 'default_database'),
       'username' => env('DB_USERNAME', 'default_username'),
       'password' => env('DB_PASSWORD', ''),
       'prefix' => '',
      ],

    //[...]
],

После того, как вы это сделаете, выможно использовать php artisan tinker, чтобы подтвердить доступность драйвера:

>>> DB::availableDrivers()
=> [
     0 => "mysql",
     2 => "sqlite",
   ]

и проверить ваше соединение:

>>> DB::connection()
=> Illuminate\Database\MySqlConnection {#161}

(У меня не отображается sqlserv, потому что я не использую этот драйвер)

...