PHP启动无法加载动态库php_mongo.dll

时间:2014-08-01 08:05:07

标签: php mongodb dll

我是这个的初学者。我试图在php上安装mongodb驱动程序。

Platform: Windows 8.1 64bit.
PHP 5.5.9
Apache/2.4.7

按照此处的说明进行操作:http://php.net/manual/en/mongo.installation.php#mongo.installation.windows

我用VC11尝试了所有php_mongo.dll文件并放入php / ext文件夹。并在php.ini文件中添加了extension=php_mongo.dll但是当我尝试在xampp控制器中启动apache时出错了。

    Php Startup: Unable to load dynamic library
  'C:\xampp\php\ext\php_mongo.dll' -%1 is not a valid Win32 application.

我已经在phpinfo()中检查了我的VC编译器版本,并且MSVC11architecture: x86进行了说明。

如果有人可以帮助我,那就太好了。 谢谢。欣赏它。

6 个答案:

答案 0 :(得分:46)

确保为php安装下载正确的.DLL。很有可能你正在运行apache x86,所以下载一个x86 php_mongo.dll。此外,如果您将PHP作为Apache模块运行,请确保选择线程安全(ts)。还要选择与你正在运行的php版本匹配的这种类型的dll。版本必须匹配,否则你将得到一个PHP启动错误。找到这些Mongo DLL here。我做了这个然后我得到一个错误libsasl.dll找不到。我只是将我的php安装目录中的libsasl.dll复制到apache安装目录(找到httpd.exe)。然后我重新启动了我的apache。它奏效了!

答案 1 :(得分:8)

对于2017年使用Google搜索的人来说,PECL套餐已经更新,现在可以在http://pecl.php.net/package/mongodb/1.2.9/windows找到

并使用:

extension=php_mongodb.dll 

而不是:

extension=php_mongo.dll

答案 2 :(得分:4)

如果您在执行上述操作后仍然遇到问题,请尝试使用旧版驱动程序。

这对我在Windows 8上的XAMPP / PHP 5.5起作用。

旧版驱动程序可在此处找到:https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

可以在此处找到新的驱动程序:http://pecl.php.net/package/mongo/1.5.5/windows

您可能还想访问:https://serverfault.com/questions/563867/mongodb-unable-to-load-driver-on-php

答案 3 :(得分:3)

C:\xampp\php\libsasl.dll复制到C:\xampp\apache\bin\,重新启动Apache并享受。

答案 4 :(得分:2)

这通常是因为我们使用64位支持的DLL文件64位系统。但是wamp / xampp架构可能是32位。我们需要使用基于wamp / xampp架构而不是windows架构。因此,尝试在wamp / xampp体系结构中找到相关版本的DLL文件。以下链接中的解决方案对我来说就像一个魅力,

http://grokbase.com/t/gg/mongodb-user/151xpk3fkr/php-5-6-3-with-mongodb-driver-unable-to-load-dynamic-library-not-a-valid-win32-application

此链接可帮助您找到wamp / xampp架构,https://stackoverflow.com/a/22454865/4874281

答案 5 :(得分:0)

我的PHP版本是7.2.3 x86

转到此网站并根据php版本选择DLL:

https://pecl.php.net/package/mongodb/1.4.2/windows

然后在php.ini中设置

extension=mongodb