8

我已经看过很多这样的帖子,并且都浏览了它们,但我仍然无法运行 SQLSRV 扩展。你能帮我吗?我将在下面发布我拥有的所有信息:

  • Windows 7 64 位
  • WampServer 2.2 32 位
  • PHP 5.4.3 32 位
  • Apache 2.2.22(不知道是 VC6 还是 VC9)
  • Microsoft SQL Server 2012 本机客户端 64 位

我下载了 SQLSRV30.exe。我将 dll 文件解压到 C:\wamp\bin\php\php5.4.3\ext。

在我的 php.ini 中:

  • extension_dir = "c:/wamp/bin/php/php5.4.3/ext/"
  • 扩展=php_sqlsrv_54_ts.dll
  • 扩展=php_pdo_sqlsrv_54_ts.dll

我知道 SQLSRV30.exe 是 32 位的。这就是为什么我有 32 位版本的 Wamp 和 PHP。我也知道 Wamp 中没有什么是非线程安全的。
如果我查看 phpinfo() 我应该看到一个“sqlsrv”部分,但我目前没有。

我究竟做错了什么?

4

3 回答 3

6

如果您正在编辑c:\wamp\bin\php\php.ini,请不要编辑该文件,只需编辑 wamp server php.ini 文件给出的文件,转到 wamp server php,然后 php.ini 即可获得写入 ini 文件。

我有同样的问题,这为我解决了。

另外,请确保您右键单击 WAMP 快捷方式和“以管理员身份运行”

于 2013-11-30T03:49:53.380 回答
3

今天早上我遇到了一些麻烦,但我发现我有一个 x64 WampServer ......它不能正常工作。

因此,我重新安装了 x86 WampServer,并按照我在 PHP.net ( http://php.net/manual/en/sqlsrv.requirements.php ) 上可以找到的所有内容进行操作。因为我在寻找我的 x64 解决方案时看到了这篇文章,所以我想我会回来尝试帮助你:

1) 如果你在 Wamp 上有 PHP 5.4.#,我敢打赌它是 TS,VC9

2) 找到正确的“php.ini”:我的不在“bin/php#”文件夹中,而是在“bin/apache#”文件夹中(C:\wamp\bin\apache\apache2.2.22\bin\ php.ini)

3)SQLSRV驱动有2个版本,2.0和3.0,请确保你有3.0!

从外观上看,我们拥有完全相同的 Wamp 版本,所以...我很确定您必须使用“php_sqlsrv_54_ts.dll”和“php_pdo_sqlsrv_54_ts.dll”。

于 2013-06-20T09:40:15.460 回答
2

你在你的 php 扩展列表中看到你的新 dll 了吗?如果是这样,请单击它并确保其名称中有一个 V。(左键单击希望绿色的 wamp 符号。php-->php 扩展名--> dll 的名称)

我对 php 5.5、SQLSRV31.exe、php_sqlsrv_55_nts.dll 和 php_sqlsrv_55_ts.dll 也有类似的问题。奇迹般地奏效了。

于 2015-01-02T01:22:51.207 回答