Windows 2000 Server SP4 下适用于 PHP 的 SQL Server 驱动程序

Windows 2000 Server SP4 下适用于 PHP 的 SQL Server 驱动程序

我需要安装一个使用适用于 PHP 的 SQL Server 驱动程序。服务器是一台运行 Windows 2000 Server SP4 的旧机器。我已经安装了整个堆栈,没有任何问题:

  • Apache 2.2.14
  • PHP 5.3.1
  • SQL Server 2005 快速版
  • SQL Server 管理工作室 Express

但有一个组件没有按预期工作:SQL Server 本机客户端。我一调用 sqlsrv_connect() 就收到错误消息。我找到了四个不同的版本,但都不起作用:

如果我不安装它或者安装2005版本:

  • SQLSTATE: IMSP
  • 代码:-49
  • 消息:SQL Server Driver for PHP 需要 SQL Server 2008 Native Client ODBC Driver(SP1 或更高版本)才能与 SQL Server 通信。该 ODBC 驱动程序当前未安装。访问以下 URL 以下载 SQL Server 2008 Native Client ODBC 驱动程序 for x86:http://go.microsoft.com/fwlink/?LinkId=163712

如果我安装2008版本:

  • SQLSTATE:IM003
  • 代码:160
  • 消息:由于系统错误 127(SQL Server Native Client 10.0),无法加载指定的驱动程序。

SQL Server Driver for PHP 的系统要求1.1 包括 Windows 2000 Service Pack 4。然而,SQL Server 2008 Native Client 的系统要求提到 Windows Server 2003 Service Pack 2 或更高版本。

任何想法?

答案1

我认为 SQL 2008 Native Client 不支持 Windows 2000。您是否有可以安装此应用程序的 Windows 2003 系统?

答案2

我从 Serban Iliescu 那里得到了进一步的信息官方论坛

经过进一步调查,我发现 SQL Server Native Client 2008(又名 SNAC 10)无法在 Windows 2000 上加载,因为操作系统无法满足某些 dll 依赖项。目前已记录了针对 SNAC 10 的缺陷,可通过优雅降级来解决此问题,但该缺陷尚未解决。同时,您可以尝试链接到 SNAC 9(SQL Server Native Client 2005)的 PHP 驱动程序的先前版本(即版本 1.0),SNAC 9 应该可以在 Windows 9 上运行。

总结:

  1. PHP 1.1 的 SQL Server 驱动程序需要 SQL Server Native Client 2008
  2. SQL Server Native Client 2008 存在已知错误,无法在 Windows 2000 下加载
  3. SQL Server Native Client 2005 在 Windows 2000 下运行良好
  4. SQL Server Driver for PHP 1.0 只需要 SQL Server Native Client 2005

我安装了旧版本的 PHP 驱动程序和 2005 版的 Native Client。我还必须将 PHP 从 5.3 降级到 5.2。

我的应用程序似乎可以与旧版本的 PHP 驱动程序配合使用。这样演示终于可以正常运行了。

相关内容