我的问题是基于来自@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驱动器。任何建议都将不胜感激。
答案 0 :(得分:1)
似乎主要问题是可在Microsoft网站上下载的sqlsrv
驱动程序目前仅支持PHP 7.0。+,即不支持PHP 7.1或7.2。
解决方案是下载较新的驱动程序(https://github.com/Microsoft/msphpsql/releases支持7.2,但标记为“技术预览”)或降级到PHP 7.0版。
其他常见的问题是:
同时看到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的低级通信。