疑难解答“mongo not found”和“php_mongo.dll不是win32应用程序”错误

时间:2012-01-17 08:21:52

标签: php mongodb wamp

我一直在尝试安装mongo超过6个小时,但仍然没有让它工作。我将非常详细地说明这一点,希望有人能帮助我实现这一目标。

My local comp: HP laptop, Windows 7, 64 bit operating system

WAMP 2.2 which includes php 5.3.8 and apache 2.2.21 downloaded from wampserver.com 

我尝试过安装mangodb的每个组合都没有成功。

我开始从mongos网站下载64位下载。当我从命令行shell使用它时它工作正常但是一旦我安装了php_mongo.dll并从PHP使用它我得到“mongo not found”错误。此外,我检查了我的php.ini文件,mongo没有加载。我检查了错误,看到“php_mongo.dll不是win32应用程序”。

然后我尝试安装一个vc9的新php_mongo.dll,因为那是我的php.ini文件所说的。我仍然遇到同样的问题,当我从命令行使用它而不是在PHP中时,它可以工作。

然后我删除了所有的mongo文件,并且treid下载了mongo的32位版本,只是为了试一试(我的操作系统是64位)。同样的事情,在命令行shell中工作但不在PHP中。我得到与上面相同的错误。

我的php.ini文件如下所示:

System  Windows NT xxxxx-PC 6.1 build 7601 (Windows 7 Home Premium Edition 
Service Pack 1) AMD64
Build Date  Sep 16 2011 21:25:01
Compiler    MSVC9 (Visual C++ 2008)
Architecture    x64
Configure Command   cscript /nologo configure.js "--enable-snapshot-build" "--with-
pdo-oci=C:\php-sdk\php53dev\vc9\x64\deps\instantclient_10_2\sdk,shared" "--with-
oci8=C:\php-sdk\php53dev\vc9\x64\deps\instantclient_10_2\sdk,shared" "--with-
oci8-11g=C:\php-sdk\php53dev\vc9\x64\deps\instantclient_11_2\sdk,shared" "--disable-
debug-pack" "--disable-static-analyze"
Server API  Apache 2.0 Handler
Virtual Directory Support   enabled
Configuration File (php.ini) Path   C:\Windows
Loaded Configuration File   C:\wamp\bin\apache\Apache2.2.21\bin\php.ini
Scan this dir for additional .ini files     (none)
Additional .ini files parsed    (none)
PHP API     20090626
PHP Extension   20090626
Zend Extension  220090626
Zend Extension Build    API220090626,TS,VC9
PHP Extension Build     API20090626,TS,VC9
Debug Build     no
Thread Safety   enabled
Zend Memory Manager     enabled
Zend Multibyte Support  disabled
IPv6 Support    enabled
Registered PHP Streams  php, file, glob, data, http, ftp, zip, compress.zlib, phar
Registered Stream Socket Transports     tcp, udp
Registered Stream Filters   convert.iconv.*, mcrypt.*, mdecrypt.*, string.rot13, 
string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, 
zlib.* 

我不知道我做错了什么。再次,我已经尝试了下载的每个组合,我无法从PHP获得连接。有人可以根据我系统设置的上述信息指导我完成下载,或指出我做错了什么?

我尝试过mongos网站的基本设置选项。我也花了几个小时谷歌和其他博客,我知道64位comps有一些问题,还有很多其他人得到这些相同的错误。我似乎无法找到一个有效的答案,或者足以让新手遵循的答案。

感谢您的帮助。我只是不知道该做什么,我一直在努力设置mongo超过6个小时。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

好的,所以经过数小时和数小时的搜索我原来的问题的答案是:

  

我正在使用64位wamp堆栈运行64位机器,但是mongodb无法正常工作   wamp 64 bit,我如何才能完成所有这些工作?

我最后刚刚卸载了wamp 64位并将wamp 32 bit下载到我的Windows 64位机器上。然后我下载了mongo 64位版本,一切正常。

答案 1 :(得分:1)

Mongo DB的PHP驱动程序当前不适用于64位wamp(您可以保留OS 64位)。 基本上你需要做的是:

  1. 安装32位WAMP

  2. 将PHP mongo驱动程序“php_mongo-1.3.2RC1-5.4-vc9.dll”,ts(线程安全)添加到php ext foldr 下载:https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

  3. 将“extension = php_mongo.dll”重命名为“php_mongo.dll”并将extension = php_mongo.dll添加到服务器中的php.ini

答案 2 :(得分:0)

解决:

我的操作系统是32位Windows 7 我做了以下操作将mongoDb扩展名添加到我的php中: 1.使用:https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
2.下载:php_mongo-1.5.1.zip并解压缩包含不同PHP版本二进制文件的文件。
3.将php_mongo-1.5.1-5.4-vc9.dll复制到C:\ wamp \ bin \ php \ php5.4.3 \ ext作为php_mongo.dll
4.在php.ini中添加以下行     延长= php_mongo.dll
5.重新启动我的wamp服务器
    使用localhost /?phpinfo = 1查看已安装的扩展。它工作正常。

首先我尝试了php_mongo-1.5.5.zip来做同样的事情,但它无法正常工作,然后用php_mongo-1.5.1.zip成功配置。

干杯...