2

我从来没有能够让 SQL Server 在我的 WAMP 环境中很好地运行,我试图最终一劳永逸地解决它。

试过:

  • 从 microsoft 下载最新的 SQL Server 驱动程序,然后将它们解压缩并放入我的\wamp\bin\php\php5.4.3\ext目录中。
  • 我编辑了\wamp\bin\php\php5.4.3\php.ini\wamp\bin\apache\apache2.4.2\bin\php.ini文件以包含extension=php_sqlsrv_54_ts.dll.
  • 重新启动所有 WAMP 服务
  • 检查phpinfo ...没有SQLSRV
  • 检查PDO::getAvailableDrivers()...只有Array( [0]=>mysql, [1]=>sqlite )

现在,我知道 PDO 原生包含在 PHP 5.3+ 中,但是由于 MS 指令明确要求extension=php_pdo.dll启用它,所以我想我也会尝试一下。

我从 dlldll.com 下载了 DLL(第一次遇到该站点,所以我希望它是一个有信誉的来源),提取并移动 _php_pdo.dll_ 文件到我的\wamp\bin\php\php5.4.3\ext目录,然后添加它进入两个 php.ini 文件......没有改进。

附带说明一下,当我从 WAMPSERVER 菜单中检查激活的 PHP ext 列表时,sqlserver 扩展甚至没有出现在列表中。

只是为了测试它,我还尝试extension=php_pdo_pgsql.dllphp.ini中取消注释,并且效果很好......“pgsql”包含avail驱动程序数组中。

我的设置:

  • Wampserver 2.2(64 位),正在运行
    • 阿帕奇 2.4.2
    • PHP 5.4.3
  • 赢 7 专业 64

接下来是什么?

我几乎没有想法。

我唯一能想到的可能是 SQLSRV 驱动程序是 32 位的,并且不能很好地与我的 64 位设置配合使用……哦,天哪……我当然希望不会。

欢迎任何提示/指针......特别是如果它们不包括完全重新安装;)

4

1 回答 1

1

我能够让 sqlsvr PHP PDO 驱动程序在我稍旧的 WAMP 32 位版本上运行。这是我的设置:

  • WAMP 2.2(32 位)
    • 阿帕奇 2.2.21
    • PHP 5.3.8
  • 赢 7 专业版 64 位

这是我所做的:

  1. 从这里下载 MS 3.0 驱动程序:http: //www.microsoft.com/en-us/download/details.aspx?id=20098
  2. 将所有文件解压到 PHP ext 文件夹 (C:\wamp\bin\php\php5.3.8\ext)
  3. 将此行添加到我的 apache php.ini 文件 (C:\wamp\bin\apache\Apache2.2.21\bin\php.ini)

    扩展=php_pdo_sqlsrv_53_ts.dll

  4. 从此处下载并安装 MS SQL Server 2012 Native Client ODBC 驱动程序:http: //go.microsoft.com/fwlink/ ?LinkID=239648&clcid=0x409

在这些步骤之后,我的 PHP 代码愉快地连接到我的 SQL Server 数据库。

于 2013-10-21T20:52:11.997 回答