1

我在让 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() 信息: System Windows NT MY-PC 6.1 build 7601 (Windows 7 Home Premium Edition Service Pack 1) i586 Compiler MSVC9 (Visual C++ 2008) Architecture x86 Thread Safety enabled

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

4

2 回答 2

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!

于 2012-08-19T17:06:11.543 回答
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

于 2013-02-16T01:49:59.413 回答