我目前正在使用 xampp 来 PHP 。我在我的系统中安装了* mongo_db(1.8.5)*,并在我的系统中安装了 xampp-1.8.1-VC9 。为了配置 mongoDB 的PHP,我已经下载了* php_mongo.dll *(同时尝试了VC9 thread safe
和non-thread safe
)并粘贴了 .dll 文件位于'../ php / ext'目录中,并在 php.ini 文件中添加了extension=php_mongo.dll
。
现在当我尝试在 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 代码也无效。这意味着某处出现了问题。
我哪里出错了。任何帮助将不胜感激。
答案 0 :(得分:16)
看起来您正在尝试使用PHP 5.4安装为PHP 5.3编译的扩展;模块API版本需要与PHP版本匹配。
如果从Github下载precompiled MongoDB PHP driver(例如php_mongo-1.2.12.zip
是当前的稳定版本),它包含多个PHP版本的DLL(例如5.2,5.3和5.4)。您需要为系统复制正确的DLL并将其重命名为php_mongo.dll。
您可以从系统上的phpinfo()
输出(或命令行中的php -i
)确定所需的版本。检查“Zend Extension Build”的值。
例如:
Zend Extension Build => API220100525,NTS,VC9
..表示你应该使用NTS(非线程安全)DLL。
在64位Windows上,这意味着在PHP扩展目录中将php_mongo-1.2.12-5.4-vc9-nts-x86_64.dll
复制到php_mongo.dll
。