2016-07-15 3 views
5

Я работаю над проектом Laravel 5.1, который должен подключиться к существующей базе данных MS SQL Server. Мой проект в настоящее время находится на сервере Ubuntu 16.04 LTS с использованием Apache 2.4.18. Я установил драйвер Microsoft ODBC Linux для SQL Server (версии 13.0.0.0) на машине и протестировали его вручную с помощью команды Sqlcmd:Laravel: PDO Exception, не удается найти драйвер, хотя драйвер установлен и протестирован

sqlcmd -S DatabaseIPAddress -U DatabaseUsername 

Все работало нормально. Я не могу войти в базу данных без проблем. Однако, когда я перехожу к миграции моей базы данных с помощью php artisan, она не работает. Я получаю ошибку:

[PDOException] 
    could not find driver 

Я получил это как установку в database.php:

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

Информация Войти базы данных сохраняется в файле .env и SQL Server установлен как по умолчанию:

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

Любая помощь в отношении того, что может происходить? Я прочитал кучу сообщений в Интернете (here и here). У людей были проблемы с различными типами баз данных. Они должны были изменить конфигурацию своего файла php.ini, добавив некоторые строки о расширениях. Может быть, что-то такое? Я пытался несколько различных вещей в файле php.ini, что я думал, что мог бы работать, например:

; This is the extension for the Microsoft SQLSRV ODBC Driver. 
; The driver seems to be located at this file path. 
extionsion=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0 

перезагружается, тестируется, но безрезультатно. Некоторое время я бил головой о стену. Любая помощь будет принята с благодарностью. Благодарю.

+3

http://stackoverflow.com/questions/18213907/how-to-use-sql-server-connection-in-laravel –

+1

Удивительно, спасибо! Это сделало это с небольшой модификацией использования php7.0-sybase. Спасибо! Извините, я пропустил этот пост в своих исследованиях. – Keegan

ответ

2

Выполните эти шаги
sudo apt-get install php5-mssql
Update /etc/freetds/freetds.conf

[global] 
# TDS protocol version 
; tds version = 4.2 
tds version = 8.0 
client charset = UTF-8` 

Добавьте эту строку в php.ini

mssql.charset = "UTF-8" 

Ссылка: Laracast discussion

Смежные вопросы