Laravel с mssql (sqlsrv) не подключается

Я работал над laravel с mysql, он работал нормально. Но теперь у меня есть другой сценарий. Мне нужно подключить laravel к базе данных ms sql, которая находится на сервере Windows. Я использовал следующий код для подключения к DB app / config / database.php

'default' => 'sqlsrv',

 'sqlsrv' => array( 'driver' => 'sqlsrv', 'host' => 'IP ADDRESS', 'database' => 'DB Name', 'username' => 'Username', 'password' => 'password', 'prefix' => '', ), 

но его ошибка показывает, что

PDOException не удалось найти драйвер

Так, пожалуйста, может кто-нибудь помочь мне решить это? спасибо

Вы используете усадьбу? У меня была такая же проблема, используя MAMP. Водитель отсутствовал на моем сервере, поэтому я перешел на усадьбу и установил там freetds .

Для Linux homestead: сначала, ssh в вашу коробку бродячего ssh из папки Homestead.

Команда: бродяга ssh

Установите пакет Sybase для поддержки поддержки PDO и Mssql. Команда: sudo apt-get install php7.0-sybase

затем запустите php -m на ssh, чтобы убедиться, что pdo_dblib включен.

Для Windows: вам необходимо вручную установить это расширение. Вы можете скачать драйвер с [веб-сайта Microsoft] [1].

После извлечения файлов скопируйте их в каталог ext. Чтобы заставить PHP загружать расширение, просто добавьте следующую строку в ваш PHP.ini (это для небезобезопасной версии PHP, которую вы, скорее всего, используете, когда вы установили PHP для использования IIS FastCGI, который мы рекомендуем) :

расширение = php_sqlsrv.dll

И перезапустите свой Apache

Чтобы продлить ответ @ AmitChaudhary:

Для Mac OSX с использованием MAMP

  1. Загрузите и установите предварительные реквизиты с помощью Homebrew (простейший вариант):
    FreeTDS: brew install freetds
    autconf: brew install autoconf

  2. Загрузите исходный код PHP-версии (я использовал 5.6.27): http://php.net/releases/

  3. Извлеките источник, откройте терминал и перейдите в папку в командной строке

  4. (Необязательно) Временно добавьте PHP-установку MAMP в путь:
    export PATH=/Applications/MAMP/bin/php/php5.6.27/bin:$PATH

Убедитесь, что вы изменили номер версии на то, что вы используете.

  1. Введите which phpize чтобы подтвердить, что он использует PHP-установку MAMP.

  2. Настроить и загрузить скачанный источник PHP:
    ./configure --without-iconv && make

  3. Перейдите в папку «Расширения» загруженного источника PHP:
    cd ext

  4. Перейдите в папку расширения MSSQL:
    cd mssql

  5. Запустить phpize

  6. Настроить расширение с помощью FreeTDS:
    ./configure --with-mssql=/usr/local/Cellar/freetds/1.00.23/ && make

Подтвердите, является ли это вашей правильной версией FreeTDS, это даст вам сообщение об ошибке, если оно не сможет найти его.

  1. Перейдите в папку «Модули»:
    cd modules

  2. Скопируйте модуль mssql.so в папку расширения MAMP (для меня это было):
    cp mssql.so /Applications/MAMP/bin/php/php5.6.27/lib/php/extensions/no-debug-non-zts-20131226/

  3. В рамках MAMP найдите параметр меню «Редактировать шаблоны» (в зависимости от версии MAMP, он должен находиться в меню MAMP или доступен в MAMP Pro с помощью кнопки)

  4. Найти ; Extensions ; Extensions и в нижней части этого раздела добавьте:
    extension=mssql.so

  5. Перезагрузите сервер MAP Apache, и вы должны быть добрым!

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

Cheers GB.