我无法从在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 Files\PHP\v7.1\php.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)