我在使用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 线程安全已启用
如果您需要更多信息,请通知我,我会更新此问题。
答案 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