【问题标题】:Win 10 + IIS + PHP v7.1.7 + SQL Server 2008 R2 how to get SQL Server connection working?Win 10 + IIS + PHP v7.1.7 + SQL Server 2008 R2 如何让 SQL Server 连接正常工作?
【发布时间】:2023-03-09 02:58:01
【问题描述】:

我无法从在 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 server 驱动程序尝试,但它不起作用。

我的问题是:

1) SQL Server 驱动程序的线程安全 (ts) 或非线程安全 (nts) 版本应该在 win 10 上与 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 目录中。

【问题讨论】:

    标签: c# php sql-server windows iis


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多