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

PHP启动无法加载动态库PHP_mongo.dll,php,mongodb,dll,Php,Mongodb,Dll,我是这方面的初学者。我正在尝试在php上安装mongodb驱动程序 Platform: Windows 8.1 64bit. PHP 5.5.9 Apache/2.4.7 按照这里的说明: 我用VC11尝试了所有php_mongo.dll文件,并将其放入php/ext文件夹。并在php.ini文件中添加了extension=php_mongo.dll,但当我试图在xampp控制器中启动apache时,出现了一个错误 Php Startup: Unable to load dynamic

我是这方面的初学者。我正在尝试在php上安装mongodb驱动程序

Platform: Windows 8.1 64bit.
PHP 5.5.9
Apache/2.4.7
按照这里的说明:

我用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安装下载正确的.DLL。很可能您正在运行Apachex86,所以请下载x86
php\u mongo.dll
。另外,如果您将PHP作为Apache模块运行,请确保选择
线程安全(ts)
模块,并选择与您运行的PHP版本相匹配的
dll

版本必须匹配,否则会出现php启动错误。找到这些Mongo DLL


我这样做了,然后发现一个错误
libsasl.dll
。我只是简单地将PHP安装目录中的
libsasl.dll
复制到
Apache
安装目录(其中找到了
httpd.exe
)。然后我重新启动了Apache,它成功了

如果执行上述操作后仍然存在问题,请尝试使用旧版本的驱动程序

这就是我在Windows8上运行XAMPP/PHP5.5的原因

高龄驾驶人可在此处找到:

可以在以下位置找到新的驱动程序:


您可能还想访问:

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

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


最后,这是停止xampp加载“.dll”文件的唯一步骤,尽管该文件存在于该文件夹中。通常人们会错过这一步,因为它没有明确指出。将
C:\xampp\php\libsasl.dll
复制到
C:\xampp\apache\bin\
,重新启动
apache
并享受。这通常是因为我们使用64位支持的dll文件64位系统。但是wamp/xampp架构可以是32位的。我们需要基于wamp/xampp体系结构而不是windows体系结构来使用。因此,尝试查找与wamp/xampp体系结构相关的DLL文件版本。下面链接中的解决方案对我很有吸引力


此链接可帮助您找到wamp/xampp体系结构,

对于2017年搜索此网站的任何人,PECL软件包已更新,现在可在

和使用:

extension=php_mongodb.dll 
而不是:

extension=php_mongo.dll

我的PHP版本是7.2.3 x86

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

并在php.ini中设置它

extension=mongodb

这里的技巧实际上是将libsasl.dll从php文件夹复制到apache二进制文件夹。将libsasl.dll复制到apache bin目录解决了问题。@Bryan KIm你能帮我解决这个问题吗?它没有帮助。我仍然收到错误,但我可以看到在phpinfo()中加载了mongo。“确保选择线程安全(ts)的,并选择与正在运行的PHP版本匹配的这种类型的dll。”是的!pecl mongo 1.5.5上的新驱动链接对我很有用。它没有帮助。虽然C:\xampp\apache/bin中已经有一个“libsasl.dll”可用,但我仍然得到了错误,但我可以看到mongo加载到phpinfo()中,它对我起到了作用。我刚刚将C:\xampp\php\libsasl.dll中的副本替换为C:\xampp\apache\bin\并完成了这项工作,结果显示,比特数wamp为32位。真不敢相信这会奏效。