我正在用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' => '',
),
但是它显示错误说
PDO异常找不到驱动程序
所以请有人帮我解决这个问题吗?感谢
你在用宅地吗?我在使用MAMP时也遇到了同样的问题。我的服务器上的驱动程序不见了,所以我最终切换到了homes并在那里安装了免费的td。
对于Linux家园:首先,将ssh从Homestead文件夹中放入您的箱子中。
命令:流浪者ssh
安装Sybase软件包以启用对PDO和Mssql的支持。命令:sudo apt-get-install php7.0-sybase
然后在ssh上运行php-m以确保pdodblib处于启用状态。
对于Windows:您需要手动安装此扩展。您可以从[Microsoft的网站][1]下载驱动程序。
提取文件后,请将它们复制到PHP的ext目录中。要让PHP加载扩展,只需在PHP.ini中添加以下行(这是针对非线程安全版本的PHP,当您安装了PHP以使用IIS FastCGI时,您最有可能使用它,我们建议您这样做):
extension=php_sqlsrv.dll
并重新启动您的Apache
扩展@AmitSchaudhary的答案:
对于使用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版本,如果找不到它,它会给你一个错误。
-
转到模块文件夹:
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。