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

问题描述 投票:13回答:6

我是初学者。我正在尝试在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编译器版本,并且在MSVC11上有architecture: x86

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

php mongodb dll
6个回答
46
投票

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


8
投票

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

并使用:

extension=php_mongodb.dll 

代替:

extension=php_mongo.dll

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
投票

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


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


0
投票

完成前面评论中提到的所有步骤后,xampp可能无法加载“.dll”文件。只需确保将“.dll”文件的文件夹路径添加到环境变量中作为系统变量路径。

我遇到了同样的问题,然后将“.dll”文件的文件夹的路径添加到环境变量作为系统变量路径后,它就可以了。然后它就能找到该文件。

最后,这是阻止xampp加载“.dll”文件的唯一步骤,尽管它存在于该文件夹中。人们经常会错过这一步,因为没有明确指出的地方。

© www.soinside.com 2019 - 2024. All rights reserved.