2012-07-27 38 views
4

我跟着这个问题的答案信:找不到php_sqlsrv扩展 - 5.3,线程

Connection between MSSQL and PHP 5.3.5 on IIS is not working

我使用的XAMPP与线程5.3。我已经将文件复制到扩展目录(而在/ PHP文件夹离开他们),我已经添加了延伸线:

extension=php_sqlsrv_53_ts.dll 
extension=php_pdo_sqlsrv_53_ts.dll 

当我这样做,阿帕奇无法启动,给我的错误中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中指出,在该分机目录。

有什么问题?

+0

无法加载也意味着无法访问。确保无论在UID下运行的PHP都具有对文件的访问权限。 – 2012-07-27 20:16:34

+0

刚刚检查。相关文件与目录中的其他扩展名具有相同的权限。 – 2012-07-27 20:18:20

+0

库是否使用相同的编译器编译?如果你检查phpinfo();你应该能够看到用于PHP的编译器。 – williamvicary 2012-07-30 20:13:27

回答

1

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

我决定使用SQL Server连接字符串的ODBC驱动程序,这似乎工作正常,减去事实我不能使用MSSQL和SQLSRV本机功能。

1

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

http://www.dependencywalker.com/

+0

FYI ::我对我的ext/php_ibm_db2 <它在我们的服务器上工作>运行这个,它产生了大约50个依赖关系。这些依赖关系几乎都不在/ ext文件夹中。这让我想知道该工具的准确程度,或者我不能正确理解它的使用。 – adam 2012-07-31 13:06:54

+0

这似乎没有帮助(实际上当我撞到相关文件时发生崩溃),但感谢您的回答。 (#mtgpro4L,BTW) – 2012-08-06 22:55:41

0

错误的技术,但我是有越来越WAMP连接MSSQL,与同类型的错误的问题。

我通过安装32位版本的WAMP(而不是64,即使我们在64位系统上)来解决此问题。

即使这不是适用于OP,我希望有人认为这很有帮助!

+0

这对这个问题没有帮助,但是谢谢你加入! – 2012-08-06 22:56:36

+0

@Kyle - 只是为了确保你所有的东西(特别是xampp)是32位的,因为这会导致我们的错误。祝您好运,找到答案! – 2012-08-06 23:06:19

1

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

不幸的是,说明得到了复杂,当MSFT删除下载旧XP/2003的驱动程序(版本2.0),所以读取整个页面开始之前。

+0

谢谢,如果我需要它,我会研究你的答案。我切换到Linux/FreeTDS设置。 – 2012-09-21 20:46:49

0

我得到了同样的错误消息时,我开始安装后,Drupal 7的堆栈。我用Win 7 x64和acquia-drupal-win-7.31.36-6159.54300使用VM Ware。

我去了PHP站点http://php.net/manual/en/sqlsrv.requirements.php并安装了x64包。 步骤 1)停止Drupal堆栈 2)运行文件:sqlncli.msi 3)重新启动Drupal,并且没有错误消息。