【问题标题】:SQL Server 2005 php 5.2SQL Server 2005 php 5.2
【发布时间】:2012-06-18 17:41:12
【问题描述】:

我很难让 php 连接到 SQL Server 2005。似乎无论我做什么或访问什么页面,我要么得到错误的扩展程序/驱动程序,要么找到死链接。最近的尝试是 php_sqlsrv_52_ts_vc6.dll,它显然不支持 2008 年之前的任何内容。

经过两天多的搜索,我迷路了,不幸的是,升级 php 或 SQL Server 不是一个选项...

编辑: 一切都在 IIS 6 - Server 2003 上运行(相同的框)。

【问题讨论】:

  • 这是在windows盒子上吗?我认为如果您使用的是 PHP 5.2,它应该“正常工作” - php.net/manual/en/intro.mssql.php。在旧版本的 PHP(我认为是 5.0...)上,我使用 MSSQL 没有任何问题。 [再次编辑] 你看到了吗:php.net/manual/en/mssql.requirements.php
  • @Aerik 我的 php 没有 mssql.dll,所以我将它添加到 ext 文件夹和 php.ini,然后我回收了服务器的应用程序池(重新启动)。出于某种原因,它不起作用。我很确定我做的一切都是正确的,因为我不是一个 php 菜鸟,只是一个 IIS 和 MSSQL 菜鸟。 phpinfo() 在任何地方都没有提到 mssql...

标签: php sql-server-2005 iis-6 windows-server-2003


【解决方案1】:

您的问题可能是您正在运行 IIS6,这将需要 nts-版本。

此外,您必须安装 SQL Server Native Client 2008,这有点误导,因为它仍然可以与 MSSQL 2005 一起使用。

应该是这样的:

  1. 下载 SQL Server Driver 2.0 for PHP
  2. 将 dll (5.2 nts) 放入 PHP 的 ext 文件夹中
  3. 在 php.ini 中启用扩展 extension=sqlsrv*.dll
  4. 安装最新版本的 Microsoft Native Client(例如,从 SQL Server 2012 功能包中)
  5. 重新启动您的网络服务器。

我使用 Apache,所以我不确定在 IIS 上是否还有其他事情要做,或者某些步骤是否不同,但这就是我的工作方式。

【讨论】:

  • 所以它是非线程安全的,谢谢。仍然没有解决我的问题,但我确定这是一个障碍。
  • @jreed121 我在答案中添加了分步说明。希望有帮助。如果没有,请编辑您的问题,并提供有关问题所在的其他信息。
  • 谢谢,我只是对安装本机客户端持怀疑态度,因为它是一个重要的生产服务器。
  • 我硬着头皮安装了 Native Cleint,它成功了!我的问题是安装的php是TS...
猜你喜欢
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多