Я работал над 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
Загрузите и установите предварительные реквизиты с помощью Homebrew (простейший вариант):
FreeTDS: brew install freetds
autconf: brew install autoconf
Загрузите исходный код PHP-версии (я использовал 5.6.27): http://php.net/releases/
Извлеките источник, откройте терминал и перейдите в папку в командной строке
(Необязательно) Временно добавьте PHP-установку MAMP в путь:
export PATH=/Applications/MAMP/bin/php/php5.6.27/bin:$PATH
Убедитесь, что вы изменили номер версии на то, что вы используете.
Введите which phpize
чтобы подтвердить, что он использует PHP-установку MAMP.
Настроить и загрузить скачанный источник PHP:
./configure --without-iconv && make
Перейдите в папку «Расширения» загруженного источника PHP:
cd ext
Перейдите в папку расширения MSSQL:
cd mssql
Запустить phpize
Настроить расширение с помощью FreeTDS:
./configure --with-mssql=/usr/local/Cellar/freetds/1.00.23/ && make
Подтвердите, является ли это вашей правильной версией FreeTDS, это даст вам сообщение об ошибке, если оно не сможет найти его.
Перейдите в папку «Модули»:
cd modules
Скопируйте модуль mssql.so в папку расширения MAMP (для меня это было):
cp mssql.so /Applications/MAMP/bin/php/php5.6.27/lib/php/extensions/no-debug-non-zts-20131226/
В рамках MAMP найдите параметр меню «Редактировать шаблоны» (в зависимости от версии MAMP, он должен находиться в меню MAMP или доступен в MAMP Pro с помощью кнопки)
Найти ; Extensions
; Extensions
и в нижней части этого раздела добавьте:
extension=mssql.so
Перезагрузите сервер MAP Apache, и вы должны быть добрым!
Я буквально только что сделал это, но изо всех сил пытался найти достойное пошаговое руководство для работы над моей памятью, поэтому, надеюсь, это поможет кому-то другому (или, возможно, мне) в будущем.
Cheers GB.