无法使用composer在symfony2中安装mongodb doctrine

Sek*_*kai 12 php mongodb symfony composer-php

我按照官方文档

当我运行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].
Run Code Online (Sandbox Code Playgroud)

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

Sek*_*kai 19

我修好了它 !正如所料,这是因为扩展,所以如果你遇到与我相同的问题,这里是采取的步骤:the requested PHP extension mongo is missing from your system.

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

而已!

  • 我得到同样的错误,但我不确定你是如何解决它的..你能解释一下吗?打开CLI/php.ini.是在终端或是一个目录(如果是这样我找不到它).步骤3都没有为我做任何事情(假设它再次是终端命令).找不到服务命令.我按照你提到的相同文档.我在mac btw上使用mamp. (2认同)