2017-09-13 207 views
1

我的問題是基於這個post從@Crontab得到的答案。我從微軟website下載SQLSRV40。當我嘗試安裝它時,它是要求用於SQL Server 2016的Microsoft驅動程序 - 安裝

當我安裝時,我必須輸入一個路徑來解壓縮文件,因爲它在網站中提到的安裝說明3號「當出現提示時,輸入PHP擴展的路徑目錄」。

我有xampp並且有一個php文件目錄。對於我的提取路徑,我應該給'C:/ xampp/php'?

我有點困惑,因爲,在答案的評論部分下,@Crontab提到「我的猜測是無論你在哪裏找到所有其他的php _ *。dll文件」。這意味着所有的php_*.dll文件應該在php文件夾下?

而且,說,如果我解壓縮到該文件夾​​或其他文件夾,當我加入php_pdo_sqlsrv_7_nts_x64到我php.ini文件夾,並通過Apache連接我找不到我的pdo_sqlsrv DLL。

這是我第一次安裝SQL服務器驅動器。任何建議,將不勝感激。

+2

查看['extension_dir'](http://php.net/manual/en/ini.core.php#ini.extension-dir)的'phpinfo()'? – ficuscr

+1

把它放在一個腳本或嘗試從命令行與'php -i' ...可能'C:/ xampp/php/ext' – ficuscr

+0

@ficuscr謝謝你,現在我剛剛進入'C:/ xampp'路徑。謝謝你的鏈接。 –

回答

1

看起來像主要問題是sqlsrv驅動程序可以在微軟網站上下載,目前只支持PHP 7.0 +,即不是PHP 7.1或7.2。

解決方法是下載較新的驅動程序(https://github.com/Microsoft/msphpsql/releases支持7.2,但標記爲「技術預覽」)或降級到PHP版本7.0。

其他常見的問題有:

  • 未能下載額外的要求Microsoft ODBC drivers
  • x86和x64版本的驅動程序混淆(ts/nts「線程安全」和「非線程安全」)。將取決於你的系統/ php安裝。

還看到那個PECL提供驅動程序的「預覽」版本:https://pecl.php.net/package/pdo_sqlsrv/5.0.0/windows

在那裏,他們也提供了這個有用的描述:

PHP的微軟驅動程序爲SQL Server是PHP允許從PHP腳本中讀取和寫入SQL Server數據的擴展。 SQLSRV擴展提供過程接口,而PDO_SQLSRV擴展實現PDO以訪問SQL Server 2008 R2及更高版本(包括Azure SQL DB)的所有版本中的數據。這些驅動程序依賴於SQL Server的Microsoft ODBC驅動程序來處理與SQL Server的低級別通信。

相關問題