2015-04-04 117 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。