【问题标题】:"could not find driver" error when using PDO with MSSQL server将 PDO 与 MSSQL 服务器一起使用时出现“找不到驱动程序”错误
【发布时间】:2013-09-22 18:43:48
【问题描述】:

这个问题已经被问过很多次了,我已经解决了所有这些问题,但没有一个解决方案对我有用。

基本上,

使用 PDO 连接到 MSSQL 服务器时出现“找不到驱动程序”异常。以下是我的规格:

Windows 8 - 64 Bit version
MSSQL server 2008 R2 - 64 bit version
Wampserver 2.4 - 64 bit version with PHP 5.4 (Thread Safe version)

这是我到目前为止所做的:

  1. here 下载了 SQLSRV - 3.0 版
  2. 将“php_pdo_sqlsrv_54_ts.dll”和“php_sqlsrv_54_ts.dll”文件放在“c:/wamp/bin/php/php.x.x/ext”目录下(已使用php_*sqlsrvts**.dll,因为我使用的是 PHP 的线程安全版本)
  3. 在 php.ini 中启用它们(我知道 wampserver 中有两个 php.ini 文件,我已在正确的 php.ini 中对其进行了编辑)
  4. 重新启动 wampserver

但我仍然遇到同样的错误。

谁能帮我解决这个错误?

phpinfo() 的输出;

在 Apache 的错误日志中发现如下:

PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.12/ext/php_pdo_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.12/ext/php_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0

【问题讨论】:

  • 请发布phpinfo()的结果。
  • 您是否查看了服务器错误日志以查看驱动程序是否正确加载,如果加载错误,则应该有错误。
  • @Marcel 发布了结果。
  • @PatrickEvans 你是对的,没有加载 dll 文件我已经发布了我得到的错误。关于如何解决这个问题的任何想法?
  • 我想我的鼠标滚轮从那个图像滚动条上弄坏了。

标签: php sql-server-2008 pdo


【解决方案1】:

对于遇到上述问题的人来说,这里是解决方案。

显然微软没有 64 位版本的 SQLSRV 驱动程序。切换到 32 位版本的 wampserver 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2012-06-30
    • 2013-04-25
    • 2014-07-18
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 2015-10-02
    相关资源
    最近更新 更多