用于SQL Server 2016的Microsoft驱动程序 - 安装

时间:2017-09-13 17:03:24

标签: php sql-server-2016

我的问题是基于来自@Crontab的post回答。我从Microsoft website下载了SQLSRV40。当我尝试安装时,它要求

当我安装时,我必须输入一个提取文件的路径,并在网站上根据安装说明No.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 Server驱动器。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

似乎主要问题是可在Microsoft网站上下载的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

他们也提供了这个有用的描述:

  

用于SQL Server的Microsoft PHP驱动程序是PHP扩展,允许从PHP脚本中读取和写入SQL Server数据。 SQLSRV扩展提供了一个过程接口,而PDO_SQLSRV扩展实现了PDO,用于访问所有版本的SQL Server 2008 R2及更高版本(包括Azure SQL DB)中的数据。这些驱动程序依赖于SQL Server的Microsoft ODBC驱动程序来处理与SQL Server的低级通信。