7

我目前正在使用xampp for PHP。我在我的系统中安装了 *mongo_db(1.8.5)* 并且还在我的系统中安装了xampp-1.8.1-VC9。为了为mongoDB配置 PHP ,我下载了 *php_mongo.dll*(尝试了VC9 thread safenon-thread safe)并将.dll文件粘贴到'../php/ext'目录中,并添加extension=php_mongo.dll到了php.ini文件中。

现在,当我尝试在xampp中启动apache时,即使apache正在启动,它也会显示以下显示。

PHP startup mongo: Unable to initialize module
Module compiled with module API : 20090626
PHP compiled with module API : 20100525
These options need to match.

我连接Mongo的.php代码也不起作用。这意味着某处有问题。

我要去哪里错了。任何帮助,将不胜感激。

4

1 回答 1

16

看起来您正在尝试使用 PHP 5.4 安装为 PHP 5.3 编译的扩展;模块 API 版本需要与 PHP 的版本相匹配。

如果您从 Github下载预编译的 MongoDB PHP 驱动程序php_mongo-1.2.12.zip(例如当前的稳定版本),它包括多个 PHP 版本(例如 5.2、5.3 和 5.4)的 DLL。您需要为您的系统复制正确的 DLL 并将其重命名为 php_mongo.dll。

phpinfo()您可以从系统上的输出(或php -i从命令行)确定所需的版本。检查“Zend Extension Build”的值。

例如:

Zend Extension Build => API220100525,NTS,VC9

.. 表示您应该使用 NTS(非线程安全)DLL。

在 64 位 Windows 上,这意味着复制php_mongo-1.2.12-5.4-vc9-nts-x86_64.dllphp_mongo.dll您的 PHP 扩展目录中。

于 2012-11-23T05:06:53.520 回答