MongoDB,Windows 7,XAMPP,PHP.ini

时间:2012-08-19 16:50:21

标签: php apache codeigniter mongodb xampp

我在使用XAMPP在Windows 7上使用MongoDB时遇到了很多麻烦。

我正在使用XAMPP 1.7.7 / PHP 5.3.8。

我正确设置了MongoDB,可以通过shell进行查询(并且MongoD.exe正在运行)。

但是每当我尝试通过PHP脚本访问MongoDB时,我都会收到错误(通过CodeIgniter):

  

尚未安装或启用MongoDB PECL扩展

运行phpinfo()时,它不会在扩展中显示MongoDB。但是,我使用了位于https://github.com/mongodb/mongo-php-driver/downloads的驱动程序,并在php.ini中添加了相应的行

在我看来,服务器实际上并没有读取php.ini。我已尝试该zip文件中的每个版本的5.3驱动程序,它永远不会加载。 PHP错误日志或Apache错误日志中也没有错误。

phpinfo()表示正在使用以下php.ini文件:

> Configuration File (php.ini) Path C:\Windows 
> Loaded Configuration File C:\xampp\php\php.ini

C:\ Windows中没有php.ini文件。我机器上唯一存在的php.ini是在C:\ xampp \ php \ php.ini中,修改它似乎完全没有效果。即使我把extension = norealfilename.abc,它也不会抛出错误,这看起来很奇怪。

我在这里完全不知所措,我已经失去了好几天试图让这种情况发生,而且我感到非常沮丧。任何帮助将不胜感激。

其他相关的phpinfo()信息: 系统Windows NT MY-PC 6.1 build 7601(Windows 7家庭高级版Service Pack 1)i586 编译器MSVC9(Visual C ++ 2008) 架构x86 线程安全已启用

如果您需要更多信息,请通知我,我会更新此问题。

2 个答案:

答案 0 :(得分:3)

我做了以下(与Codeigniter一起使用):

https://github.com/mongodb/mongo-php-driver/downloads

下载

*小心获取线程安全版本。

然后在php.ini文件中添加以下行:

  

extension = php_mongo-1.2.11-5.3-vc9-x86_64.dll(或者你下载的是什么版本)

然后重新启动服务器并检查错误日志以查看是否存在任何错误/冲突。

PS:我使用WAMP!

答案 1 :(得分:1)

在测试了几个版本之后,对我有用的版本是:来自此软件包的php_mongo-1.3.1-5.3-vc9-x86_64.dll。 http://cloud.github.com/downloads/mongodb/mongo-php-driver/php_mongo-1.3.1.zip 我的环境: Windows 8 64位x64处理器。 Winginx Php 5.3.8