【问题标题】:Can't install mongodb doctrine in symfony2 with composer无法使用作曲家在 symfony2 中安装 mongodb 学说
【发布时间】:2014-01-19 03:03:42
【问题描述】:

我已经关注了官方documentation

当我运行 composer update 我有这个错误: 您的需求无法解析为一组可安装的软件包。

  Problem 1
    - doctrine/mongodb 1.0.4 requires ext-mongo >=1.2.12,<1.6-dev -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.0.3 requires ext-mongo >=1.2.12,<1.5-dev -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.0.2 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.0.1 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.0.0 requires ext-mongo >=1.2.12,<1.4-dev -> the requested PHP extension mongo is missing from your system.
    - 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, 1.0.4].
    - Installation request for doctrine/mongodb-odm 1.0.0-BETA9 -> satisfiable by doctrine/mongodb-odm[1.0.0-BETA9].

当我运行php -m 时,我找不到 mongo 扩展,但是服务器正在运行并且我可以在 PHP 中使用 Mongo,有谁知道应该是什么问题? 我怀疑该学说找不到 mongo 扩展.. 谢谢 !

【问题讨论】:

    标签: php mongodb symfony composer-php


    【解决方案1】:

    我修好了! 正如预期的那样,这是因为扩展,所以如果您遇到与我相同的问题,请采取以下步骤:the requested PHP extension mongo is missing from your system.

    1. 运行命令:php --ini,你会看到所有的配置文件都被解析了!对我来说,我使用的是 PHP-fpm,我认为唯一需要的 php.ini 文件在 fpm 文件夹中,但我错了 CLI 文件夹中有一个 php.ini 文件,正是这个文件夹告诉服务器加载了哪些模块,并且与学说从中读取扩展名的文件完全相同。
    2. 打开 CLI/php.ini 并在末尾添加这一行 extension=mongo.so
    3. 重启 PHP : service php5-fpm restart

    就是这样!

    【讨论】:

    • 我遇到了同样的错误,但我不确定你是如何修复它的。你能解释一下吗?打开 CLI/php.ini。是在终端还是目录(如果是这样我找不到它)。第 3 步对我没有任何作用(假设它又是一个终端命令)。未找到服务命令。我遵循了您提到的相同文档。顺便说一句,我正在使用 mamp 在 mac 上。
    【解决方案2】:

    对于 OSX:

    brew install php56-mongo
    

    如果出错:仔细阅读错误消息并按照它重新运行命令。

    来源:

    http://php.net/manual/en/mongo.installation.php#mongo.installation.osx

    【讨论】:

    • 问题是cli接口好像使用了不同的php.ini。
    【解决方案3】:

    Linux

    要安装 PHP 的 MongoDB 扩展,运行:

    sudo apt-get install php-mongo
    

    另请参阅:Easiest way to install Mongodb PHP extension in Ubuntu 13.10 (saucy)?

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2014-10-12
      • 2020-03-29
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多