【问题标题】:Could not find driver on connecting to a MSSQL Server using PHP在使用 PHP 连接到 MSSQL Server 时找不到驱动程序
【发布时间】:2014-04-11 07:31:45
【问题描述】:

我在 wamp 服务器上使用 PHP 5.4.12 连接到另一个网络中的数据库,它是 MSSQL。该数据库需要指定端口。我正在尝试连接到数据库,只是为了获得 2 天的结果,但我还没有找到答案。

我的连接代码是这样的:

               <?php

            try {
            $pdo = new PDO("sqlsrv:Server=xx.xx.xxx.173,2020;Database=DB01", "sa", "123456");
            //$pdo = new PDO('mysql:host=localhost;dbname=test;', 'user', 'pass');
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            $pdo->prepare('INSERT INTO DoesNotExist (x) VALUES (?)');
            }   
            catch(Exception $e) {
            echo 'Exception -> ';
            var_dump($e->getMessage());
            }
 ?>

这是我的输出:
Exception -> string 'could not find driver' (length=21)

注意:我已经插入了这些文件: php_sqlsrv_54_ts.dll php_pdo_sqlsrv_54_ts.dll

因为我的 php 文件夹中有 php5ts.dll

我在 stackoverflow 中读到一个主题,这可能是 wamp 服务器 64 位的问题,但这是 2013 年的帖子,他们仍然没有修复它?

【问题讨论】:

  • 请检查 phpinfo() 并验证是否安装了 pdo_drivers。
  • 我不确定,我在那里搜索并找到了一些 pdo,你能帮我检查一下吗? dl.dropboxusercontent.com/u/69626017/phpinfo().htm
  • 据我所知没有 64 位 php_mssql 它只有 32 位。您必须安装 WampServer 2.4 32 位才能与 SQL Server 交互。
  • 感谢您的回答 RiggsFolly,帮了我很多忙,我现在开始工作了!

标签: php sql-server pdo wampserver


【解决方案1】:

终于搞定了。

我已经在我的机器上安装了 WampServer 64 位,而 WampServer 64 没有用于 MSSQL 的 dll 或类似的东西。当我卸载 64 位并安装 32 位后,一些文件在那里永久存在。这是你应该做的:

1- 卸载 64 位。
2- 删除 中的所有文件,通常位于 (C:/wamp),备份您的“www”文件夹
3-重新启动计算机
4- 安装 WampServer 32 位
5-遵循本教程,这非常好,而且很清楚。但是他用的是Xampp,区别只是文件夹的位置。 http://www.channaly.info/connect-to-microsoft-sql-server-2005-2008-with-php/

注意:如果您不确定 sqlsrv.dll 是否正常工作,只需退出 wamp 服务器并再次打开它。如果您的 .dll 文件有问题,它会弹出一条消息给您。如果没有弹出任何消息,则说明您已安装成功或未完全安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 2023-01-15
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多