我正在使用mysql进行laravel工作正常。但我现在有另一种情况。我需要将laravel连接到驻留在Windows服务器上的ms sql数据库。我使用以下代码连接到DB app / config / database.php
'default' => 'sqlsrv',
'sqlsrv' => array(
'driver' => 'sqlsrv',
'host' => 'IP ADDRESS',
'database' => 'DB Name',
'username' => 'Username',
'password' => 'password',
'prefix' => '',
),
但显示错误说
PDOException 找不到驱动程序
那么请任何人帮我解决这个问题吗? 谢谢
答案 0 :(得分:4)
答案 1 :(得分:1)
对于Linux宅基地: 首先,从Homestead文件夹中ssh到你的box vagrant ssh。
命令:vagrant ssh
安装Sybase软件包以启用对PDO和Mssql的支持。命令:sudo apt-get install php7.0-sybase
然后在ssh上运行php -m以确保启用pdo_dblib。
适用于Windows: 您需要手动安装此扩展程序。您可以从[微软网站] [1]下载驱动程序。
解压缩文件后,请将它们复制到PHP的ext目录中。要使PHP加载扩展,只需将以下行添加到PHP.ini(这是针对PHP的非线程安全版本,当您安装PHP以使用IIS FastCGI时,您最有可能使用该版本,我们建议) :
延长= php_sqlsrv.dll
重新启动Apache
答案 2 :(得分:0)
延长@AmitChaudhary的答案:
对于使用MAMP的Mac OSX
使用Homebrew(最简单的选项)下载并安装先决条件:
FreeTDS:brew install freetds
autconf:brew install autoconf
下载PHP版源代码(我使用的是5.6.27):http://php.net/releases/
提取源,打开终端,然后转到命令行中的文件夹
(可选)暂时将MAMP的PHP安装添加到路径中:
export PATH=/Applications/MAMP/bin/php/php5.6.27/bin:$PATH
请务必将版本号更改为您正在使用的版本号。
键入which phpize
以确认它正在使用您的MAMP安装PHP
配置并制作下载的PHP源代码:
./configure --without-iconv && make
转到下载的PHP源的Extensions文件夹:
cd ext
转到MSSQL Extension文件夹:
cd mssql
运行phpize
使用FreeTDS配置扩展:
./configure --with-mssql=/usr/local/Cellar/freetds/1.00.23/ && make
确认这是否是您正确的FreeTDS版本,如果找不到它会给您一个错误。
转到Modules文件夹:
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
并在本部分的底部添加:
extension=mssql.so
重启你的MAMP Apache服务器,你应该好好去!
我确实只是做了这个,但努力找到一个体面的演练来记住我的记忆,所以希望这将有助于其他人(或可能是我)。
干杯 GB。