【问题标题】:'Error!: could not find driver' after installing php_[pdo_]mssql.dll on WampServer在 WampServer 上安装 php_[pdo_]mssql.dll 后出现“错误!:找不到驱动程序”
【发布时间】:2013-11-22 20:25:28
【问题描述】:

Similar questionsseem to beall over the internet,但到目前为止没有任何帮助。

我目前在 Windows Server 2008 R2 上使用 Apache 2.4.4 和 PHP 5.4.12 运行 WampServerAccording to the PHP documentation 连接到 MSSQL 服务器所需的驱动程序随发行版一起提供;他们不。 php_mssql.dll(文档声称 PHP5.4 不再需要它,但在 php.ini 中仍然引用它。谁知道)和 php_pdo_mssql.dll 都不存在于分发中。

多个消息来源指向these drivers from Microsoft,但是我将各自的驱动程序重命名为php_mssql.dll/php_pdo_mssql.dll 或保持名称相同(php_sqlsrv_54_nts.dllphp_pdo_sqlsrv_54_ts.dll 等)并修改@都没有成功987654335@ 指向正确的驱动程序。虽然我在启动 apache 时没有像在驱动程序丢失时那样收到错误,但在尝试指向本地主机上的测试 php 页面时我收到了Error!: could not find driver

This article 似乎是最有前途的,但不幸的是,ntwdblib.dll 包含在 PHP 的 zip 发行版中,这与文章声称的相反。这似乎应该是一个可笑的简单问题:缺少驱动程序,据说很容易获得。然而我在这里......我做错了什么?

【问题讨论】:

    标签: php sql-server dll pdo


    【解决方案1】:

    如果其他人在尝试解决此问题时最终出现在这里,以下是我已经完成两次的步骤。这些步骤适用于 Windows Server 2008 R2 和 Windows 8。

    出于我的目的,我使用了最新的 32 位 (x86) 版本的 WampServer(在撰写本文时,它是 2.4,随 Apache 2.4.4 和 PHP 5.4.16 一起提供)。 32 位版本是必需的,因为驱动程序是 32 位的; 64 位版本无法使用

    1. 安装Microsoft Visual C++ 2010 Redistributable Package x86
    2. 安装Microsoft SQL Server 2008 Native Client x86(点击“下载”并选择ENU\x86\sqlncli.msi。再一次,64位版本无法使用
    3. 安装Microsoft ODBC Driver 11 x86(点击“下载”并选择1033\x86\msodbcsql.msi
    4. php/ext/ 中安装Microsoft SQLSRV driver 3.0(对于我的安装,这是C:/wamp/bin/php/php5.4.16/ext/
    5. 编辑 Apache 的 php.ini 以包含 extension=php_pdo_sqlsrv_54_ts.dll 行(对于我的安装,它位于 C:/wamp/bin/apache/Apache2.4.4/bin/

    【讨论】:

      【解决方案2】:

      您必须将文件放在 PHP/ext 目录中(bin/php/ext 取决于您的 Wamp / Xampp 安装)。但是,您还需要 SQL Server 本机客户端,如下所示:http://msdn.microsoft.com/en-us/library/cc296170.aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-05
        • 2020-06-08
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        • 2023-03-17
        • 2016-12-25
        • 2018-06-06
        相关资源
        最近更新 更多