找不到php_sqlsrv扩展名 - 5.3,threadsafe

时间:2012-07-27 20:15:12

标签: php apache xampp

我在信中听到了这个问题的答案:

Connection between MSSQL and PHP 5.3.5 on IIS is not working

我正在使用带有线程安全5.3的XAMPP。我已将文件复制到扩展目录(同时将它们保留在/ php文件夹中)并且我添加了扩展行:

extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll

当我这样做时,Apache无法启动,在eventvwr中给出了错误,如:

Application popup: Warning : PHP Startup: Unable to load dynamic library
'C:\xampp\php\ext\php_sqlsrv_53_ts.dll' 
- The specified module could not be found.

显然,该文件存在于该位置,并且php.ini指向该扩展目录。

有什么问题?

6 个答案:

答案 0 :(得分:1)

当缺少您正在加载的共享库依赖项时,Windows会报告此情况。使用depends.exe查看php_sqlsrv_53_ts.dll的依赖项,并确保它先前已加载或在共享库搜索路径中。

http://www.dependencywalker.com/

答案 1 :(得分:1)

见以下网址

php_sqlsrv.dll: gives error when checking PHP version but extension works

阅读: -

自PHP 5.3以来,Microsoft有一个新的Windows驱动程序:

http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

也许你可以尝试这个版本,这似乎是最近的(06/2011)

希望有所帮助!

答案 2 :(得分:1)

可悲的是,没有一个答案解决了这个问题或者我已经探索过的途径。

我决定将ODBC驱动程序与SQL Server连接字符串一起使用,这似乎工作得很好,减去了我无法使用MSSQL和SQLSRV本机函数的事实。

答案 3 :(得分:1)

我编写了一个可能有助于安装SQLSRV驱动程序的页面: http://robsphp.blogspot.co.uk/2012/09/how-to-install-microsofts-sql-server.html

不幸的是,当MSFT删除旧版XP / 2003驱动程序(版本2.0)的下载时,指令变得复杂,所以在开始之前阅读整个页面。

答案 4 :(得分:0)

错误的技术,但我遇到了让WAMP连接到MSSQL的问题,并且遇到了相同类型的错误。

我通过安装32位版本的WAMP(而不是64位,即使我们使用的是64位系统)修复了这个问题。

即使这不适用于OP,我希望有人觉得这很有用!

答案 5 :(得分:0)

我在安装后启动Drupal 7堆栈时收到相同的错误消息。我正在使用VM Ware和Win 7 x64以及acquia-drupal-win-7.31.36-6159.54300。

我访问了PHP网站http://php.net/manual/en/sqlsrv.requirements.php并安装了x64软件包。 脚步 1)停止Drupal Stack 2)运行文件:sqlncli.msi 3)重启Drupal,没有错误信息。