【问题标题】:Trying to install MongoDBBundle For Symfony. using composer but it can not be resolved尝试为 Symfony 安装 MongoDBBundle。使用作曲家,但无法解决
【发布时间】:2013-07-29 07:52:15
【问题描述】:
Anthonys-MacBook-Air:activebook numerical25$ php composer.phar update
PHP Warning:  Module 'openssl' already loaded in Unknown on line 0

Warning: Module 'openssl' already loaded in Unknown on line 0
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - doctrine/mongodb-odm 1.0.0-BETA6 requires doctrine/mongodb >=1.0.0-beta1,<1.1-dev -> satisfiable by doctrine/mongodb[1.0.0, 1.0.1, 1.0.2, 1.0.3].
    - doctrine/mongodb-odm 1.0.0-BETA7 requires doctrine/mongodb 1.0.* -> satisfiable by doctrine/mongodb[1.0.0, 1.0.1, 1.0.2, 1.0.3].
    - doctrine/mongodb-odm 1.0.0-BETA8 requires doctrine/mongodb 1.0.* -> satisfiable by doctrine/mongodb[1.0.0, 1.0.1, 1.0.2, 1.0.3].
    - doctrine/mongodb-odm 1.0.0-BETA9 requires doctrine/mongodb 1.0.* -> satisfiable by doctrine/mongodb[1.0.0, 1.0.1, 1.0.2, 1.0.3].
    - doctrine/mongodb-odm 1.0.x-dev requires doctrine/mongodb 1.0.* -> satisfiable by doctrine/mongodb[1.0.0, 1.0.1, 1.0.2, 1.0.3].
    - doctrine/mongodb 1.0.3 requires ext-mongo >=1.2.12,<1.5-dev -> the requested PHP extension mongo has the wrong version (1.5.0dev) installed.
    - doctrine/mongodb 1.0.2 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo has the wrong version (1.5.0dev) installed.
    - doctrine/mongodb 1.0.1 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo has the wrong version (1.5.0dev) installed.
    - doctrine/mongodb 1.0.0 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo has the wrong version (1.5.0dev) installed.
    - doctrine/mongodb-odm 1.0.0-BETA5 requires doctrine/mongodb 1.0.0-BETA1 -> no matching package found.
    - doctrine/mongodb-odm 1.0.0-BETA4 requires doctrine/mongodb 1.0.0-BETA1 -> no matching package found.
    - Installation request for doctrine/mongodb-odm 1.0.*@dev -> satisfiable by doctrine/mongodb-odm[1.0.0-BETA4, 1.0.0-BETA5, 1.0.0-BETA6, 1.0.0-BETA7, 1.0.0-BETA8, 1.0.0-BETA9, 1.0.x-dev].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

我不知道这是什么意思

这是我的 symfony composer.json 文件中的内容

"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.3.*",
    "doctrine/orm": ">=2.2.3,<2.4-dev",
    "doctrine/doctrine-bundle": "1.2.*",
    "twig/extensions": "1.0.*",
    "symfony/assetic-bundle": "2.3.*",
    "symfony/swiftmailer-bundle": "2.3.*",
    "symfony/monolog-bundle": "2.3.*",
    "sensio/distribution-bundle": "2.3.*",
    "sensio/framework-extra-bundle": "2.3.*",
    "sensio/generator-bundle": "2.3.*",
    "incenteev/composer-parameter-handler": "~2.0",
    "doctrine/mongodb-odm": "1.0.*@dev",
    "doctrine/mongodb-odm-bundle": "3.0.*@dev"
},

【问题讨论】:

  • 什么是“最小稳定性”值?
  • 有同样的问题,想法:教义/mongodb 1.0.9 需要 ext-mongo >=1.2.12, 请求的 PHP 扩展 mongo 的版本错误(1.6. 0-dev) 已安装。

标签: php mongodb symfony composer-php


【解决方案1】:

因为在您的 composer.json 中有这样一行:“minimum-stability”:“dev”, 并且您正在尝试导入可能是 MongoDBBundle 的 beta 版本

在 require 部分尝试这些行:

"doctrine/mongodb-odm": "1.0.*@dev",
"doctrine/mongodb-odm-bundle": "3.0.*@dev"

【讨论】:

  • 我更新了我的问题。我把我拥有的东西放在我的 composer.json 文件中。我还想补充一点,我正在学习 symfony 安装教程
  • 尝试在文件末尾添加这一行:"minimum-stability": "dev",
  • 好的,正在处理中。那里已经有一些东西叫做 "minimum-stability": "stable" 。我应该删除这个吗??
  • 尝试用“dev”替换“stable”
  • 用 dev 替换最低稳定性是一个非常糟糕的 ide,因为 ist 会将所有依赖项更新到最新的不稳定版本。
【解决方案2】:

您的问题是 mongo-php 扩展。 doctrine/mongodb 软件包的最新稳定版本不支持您安装的 mongodb 驱动程序版本1.5.0dev。将其降级到最新的 1.4 版本。此外,最好在 composer.json 中引用 beta 包而不是 dev:

"require": {
    "doctrine/mongodb-odm": "1.0.*@beta",
    "doctrine/mongodb-odm-bundle": "3.0.*@beta"
}

所以你的minimum-stability 可以保持stable

【讨论】:

    【解决方案3】:

    我认为您需要从 php.ini 文件中启用 php_mongo.dll。

    如果在 php.ini 文件中没有找到,则必须添加

    extension=php_mongo.dll

    在 php ini 文件,然后从下载 php_mongo.dll http://pecl.php.net/package/mongo/1.5.5/windows 并将其保存在 php/ext/

    然后重启apache 现在它不会给出任何错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-14
      • 2017-08-13
      • 2014-10-12
      • 1970-01-01
      • 2020-03-29
      • 2023-03-03
      • 2018-12-30
      • 2017-05-02
      相关资源
      最近更新 更多