MongoDB, Windows 7, XAMPP, PHP.ini


MongoDB, Windows 7, XAMPP, PHP.ini

我在让XAMPP在Windows7上与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:''examplep''php''php.ini中,修改它似乎完全没有效果。即使我把extension=norealfilename.abc放进去,它也不会抛出错误,这看起来很奇怪。

我在这里完全不知所措,我已经花了好几天的时间试图让这一切继续下去,我非常沮丧。如有任何帮助,我们将不胜感激。

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

如果你需要更多信息,请告诉我,我会更新这个问题。

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

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

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

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

extension=php_mong-1.2.11-5.3-vc9-x86_64.dll(或您下载的任何版本)

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

PS:我用WAMP!

在测试了几个构建之后,对我有效的构建是:这个包中的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