将PDO与MSSQL服务器一起使用时出现“无法找到驱动程序”错误

时间:2013-09-22 18:43:48

标签: php sql-server-2008 pdo

这个问题已被多次询问,我已经完成了所有这些问题,并没有一个解决方案对我有用。

基本上,

使用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
  2. 下载了SQLSRV - 3.0版
  3. 将“php_pdo_sqlsrv_54_ts.dll”和“php_sqlsrv_54_ts.dll”文件放在“c:/wamp/bin/php/php.xx/ext”目录中(已使用php_ * sqlsrv ts **。dll,因为我使用的是PHP的线程安全版本)
  4. 在php.ini中启用它们(我知道wampserver中有两个php.ini文件,我已经在正确的php.ini中编辑了这个文件)
  5. 重新启动的wampserver
  6. 但我仍然得到同样的错误。

    有人可以帮我解决这个错误吗?

    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
    

    enter image description here

1 个答案:

答案 0 :(得分:4)

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

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