通过作曲家的教义mongodb安装错误

时间:2012-12-12 02:09:32

标签: php mongodb zend-framework2 composer-php doctrine-odm

我正在尝试通过我本地计算机上的Zend Framework 2的作曲家安装Doctrine MongoDB ODM module,但我一直收到错误,指出我的计算机中缺少PHP扩展芒果。我正在安装安装了WAMP 2.2的Windows 7 x64。我最初安装了1.3.1 mongodb php驱动程序。但是,我发现MongoDB ODM不支持此驱动程序,因此我将其降级为1.2.12。在我再次尝试安装后,我不断收到同样的错误:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - doctrine/mongodb 1.0.0-BETA3 requires ext-mongo >=1.3.1,<1.4-dev -> the re
quested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.0.0-BETA2 requires ext-mongo >=1.2.12,<1.3-dev -> the r
equested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.0.0-BETA1 requires ext-mongo * -> the requested PHP ext
ension mongo is missing from your system.
    - doctrine/doctrine-mongo-odm-module dev-master requires doctrine/mongodb-od
m 1.* -> satisfiable by doctrine/mongodb-odm 1.0.0-BETA4, doctrine/mongodb-odm 1
.0.0-BETA5, doctrine/mongodb-odm 1.0.0-BETA6.
    - doctrine/mongodb-odm 1.0.0-BETA4 requires doctrine/mongodb 1.0.0-BETA1 ->
satisfiable by doctrine/mongodb 1.0.0-BETA1.
    - doctrine/mongodb-odm 1.0.0-BETA5 requires doctrine/mongodb 1.0.0-BETA1 ->
satisfiable by doctrine/mongodb 1.0.0-BETA1.
    - doctrine/mongodb-odm 1.0.0-BETA6 requires doctrine/mongodb >=1.0.0-beta1,<
1.1-dev -> satisfiable by doctrine/mongodb 1.0.0-BETA1, doctrine/mongodb 1.0.0-B
ETA2, doctrine/mongodb 1.0.0-BETA3.
    - Installation request for doctrine/doctrine-mongo-odm-module dev-master ->
satisfiable by doctrine/doctrine-mongo-odm-module dev-master.

我检查了phpinfo,MongoDB显示在那里。我成功地使用一个简单的PHP脚本连接到本地数据库,没有学说。所以我知道Wamp和mongoDB工作正常。问题在于整合学说。任何有关此问题的建议或建议都非常感谢。感谢

2 个答案:

答案 0 :(得分:13)

我发现Composer在PHP-CLI上运行,在wamp的情况下,有两个php.ini文件: 一个在php文件夹中,一个在apache文件夹中。 apache目录中的那个与webserver一起使用 这是从wamp访问php.ini时编辑的内容。我通常从wamp编辑我的php.ini,所以实际上 我最终在apache中编辑php.ini。

另一个的作曲家正在访问位于php目录下的php.ini。 这个php.ini不知道mongo扩展,因此关于缺少扩展的错误。 作为问题的解决方案,我在php目录中的php.ini中添加了mongodb的扩展名。 重新启动wamp并再次运行composer。结果,模块安装成功!

答案 1 :(得分:0)