2015-04-04 165 views
1

我正在使用mysql的laravel工作正常。但我现在有另一个场景。我需要将laravel连接到驻留在Windows服务器上的ms sql数据库。我用下面的代码来连接到数据库的应用程序/配置/ database.php中Laravel与mssql(sqlsrv)无法连接

'default' => 'sqlsrv',

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

但其示值误差说

PDOException 找不到驱动程序

那么请任何人可以帮我解决这个问题吗? 谢谢

+0

可能会帮助你:-http://laravel.io/forum/06-04-2014-laravel-on-opensuse-connecting-to-microsoft-sql-server – 2015-04-04 06:25:00

+0

但我需要配置sqlsrv。在他们解释关于odbc的链接中。我的项目中是否缺少驱动程序? – 2015-04-04 07:51:32

+0

是的,我认为司机失踪了。 – 2015-04-04 11:12:19

回答

4

你在使用宅基地吗? 我有这个完全相同的问题,使用MAMP。司机从我的服务器中失踪,所以我最终转到家园并在那里安装freetds

1

对于Linux hometead: 首先,从Homestead文件夹中将ssh插入您的box vagrant ssh。

命令:用于启用了PDO和Mssql中的支持SSH的流浪汉

安装Sybase包。命令:sudo apt-get install php7.0-sybase

然后在ssh上运行php -m以确保启用pdo_dblib。

对于Windows: 您需要手动安装此扩展。您可以从[Microsoft的网站] [1]下载驱动程序。

提取文件后,请将它们复制到您的PHP的ext目录中。为了让PHP加载扩展,只需将以下行添加到您的PHP.ini(这是针对非线程安全版本的PHP,当您安装PHP以使用IIS FastCGI时,您最有可能使用该版本,我们建议您使用) :

延长= php_sqlsrv.dll

,并重新启动Apache的

0

为了延长@ AmitChaudhary的回答是:

对于Mac OSX使用甲基苯丙胺

    0使用自制(简单的选项)
  1. 下载和安装的先决条件:
    freetds的:brew install freetds
    autconf:brew install autoconf

  2. 下载PHP版本的源代码(我用5.6。27):http://php.net/releases/

  3. 提取源,打开终端,并进入命令行

  4. (可选到文件夹)暂时您MAMP的PHP安装添加到路径:
    export PATH=/Applications/MAMP/bin/php/php5.6.27/bin:$PATH

确保您将版本号更改为您正在使用的任何版本号。

  • 类型which phpize以确认其正在使用您的MAMP安装的PHP

  • 配置并请下载PHP源:
    ./configure --without-iconv && make

  • 转到扩展下载的PHP源文件夹:
    cd ext

  • 转到t他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,并在本节的底部添加:
    extension=mssql.so

  • 重新启动MAMP Apache服务器,你应该是好去!

  • 我真的只是这样做,但很难找到一个体面的演练,以工作我的记忆,所以希望这可以帮助别人(或者可能是我)的未来。

    干杯 GB。