Win 10 + IIS + PHP v7.1.7 + SQL Server 2008 R2如何让SQL Server连接正常工作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win 10 + IIS + PHP v7.1.7 + SQL Server 2008 R2如何让SQL Server连接正常工作?相关的知识,希望对你有一定的参考价值。

我无法从在IIS下运行的php v7.1.7网站连接到SQL Server 2008 R2。

基本的PHP页面显示正常 - 但与sql server无关。所以基本的IIS站点和PHP使用都可以。

我已下载SQL Server驱动程序驱动程序并在php.ini文件中配置它们

我知道php 7.1驱动程序与其他php版本不同。

扩展目录(ext)添加了以下DLL:php_pdo_sqlsrv_71_nts.dll php_sqlsrv_71_nts.dll

"C:Program FilesPHPv7.1php.ini" has following extensions added:

[ExtensionList]
extension=php_sqlsrv_7_nts.dll  
extension=php_pdo_sqlsrv_7_nts.dll 

IIS中的PHP管理器显示启用了这些扩展。

在调试时我注意到在错误文件PHP71x64_errors.log中加载这些驱动程序存在一个基本问题

即[13-Mar-2018 00:51:27 UTC] PHP警告:PHP启动:无法加载动态库'C: Program Files PHP v7.1 ext php_sqlsrv_7_nts.dll' - 指定的模块无法被发现。在第0行的未知版本[13-Mar-2018 00:51:27 UTC] PHP警告:PHP启动:无法加载动态库'C: Program Files PHP v7.1 ext php_pdo_sqlsrv_7_nts.dll' - 找不到指定的模块。在第0行的未知中

这些文件存在于这些位置,我授予每个人完全访问权限 - 包括IUSR是用于网站的iis应用程序池的默认用户。

现在聊天网站充满了这个问题 - 似乎没有人有明确的答案。大多数博客指向另一组sql服务器驱动程序尝试不起作用。

我的问题是:

1)在win 10上,是否应该将IIS安全(ts)或非线程安全(nts)版本的SQL Server驱动程序驱动程序与IIS一起使用? 2)我假设win 10是64位 - 应该使用64位版本的驱动程序而不是x86 - 有人可以确认吗? 3)任何人都可以指向一个权威的SQL Server 2008 R2驱动程序下载,保证与我的win 10和IIS v10.0.16299.15安装一起使用吗?

注意:我已经下载了wp-db-abstraction,必须使用SQL Server的PHP插件并安装到mu-plugins目录中。

答案

问题是ODBC驱动程序php_odbc.dll扩展被禁用,如在网站上的PHP管理器中查看。启用它,一切正常。

注意:我实际上想使用SQL Server而不是mysql for wordpress但我看到我必须使用projectnami wordpress下载。 (projectnami.org)

以上是关于Win 10 + IIS + PHP v7.1.7 + SQL Server 2008 R2如何让SQL Server连接正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

win10下设置IIS安装php7.2

win2008的IIS7+PHP5.3.8,速度奇慢,为啥

(原创)win7自带IIS7.5+php7.0.10安装教程(图)

win7/win8/win10 php5.6 redis扩展(适用于iis/nginx/apache),亲测

window 2003 iis 6 怎么安装php7.0正式版

win7 IIS环境下怎么搭建PHP环境?具体怎样配置