我是这个的初学者。我试图在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
进行了说明。
答案 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文件。以下链接中的解决方案对我来说就像一个魅力,
此链接可帮助您找到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