【问题标题】:What to do when seeing this error: the requested PHP extension mongodb is missing from your system?看到此错误时该怎么办:系统中缺少请求的 PHP 扩展 mongodb?
【发布时间】:2021-01-24 21:18:35
【问题描述】:

我正在运行一个 docker 机器,phpinfo() 显示 Mongodb 扩展已启用。

当我跑步时:

composer require mongodb/mongodb 

在我的本地机器上,我看到以下错误消息:

mongodb/mongodb 1.7.1 需要 ext-mongodb ^1.8 -> 请求的 PHP 您的系统中缺少扩展 mongodb。

附加信息:当我 SSH docker 容器并执行此命令时:

php -i | grep -C4 -i "mongodb.*version"

我找回了 MongoDB 扩展版本 => 1.8.1

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您是否在 SSH 中运行 composer 命令?
  • 不,我正在本地 Mac 机器上运行 composer。
  • 你的问题。 Mac 终端中的 composer 命令不知道 docker 容器中启用的 PHP 扩展。在 docker 中运行 composer 命令,它应该可以工作了。
  • 你也可以在本地使用 composer 和 --ignore-platform-dependencies 标志。我一直使用它在本地机器上安装库以进行编程和静态分析,同时使用 docker 运行时进行实际开发。
  • 关于你的下一个问题:仔细阅读输出。你有冲突的依赖关系。如果可以,请将照明/总线更新到较新的版本。但真正的罪魁祸首可能是另一个包裹。确保它们都是最新的

标签: php laravel composer-php lumen


【解决方案1】:

你已经在 docker 中安装了依赖项,只是没有在你的本地机器上。 如果您还想在本地安装依赖项,则必须自己安装扩展程序或运行带有 --ignore-platform-reqs 标志的 composer 命令以消除错误。

【讨论】:

  • 请注意我使用了“--ignore-platform-reqs”而不是“--ignore-platform-dependencies”,因为“--ignore-platform-dependencies”选项中的最新解决方案没有存在。
猜你喜欢
  • 1970-01-01
  • 2018-04-26
  • 2017-12-07
  • 2017-12-10
  • 2016-06-20
  • 2020-06-14
  • 2013-07-15
  • 2014-04-15
  • 1970-01-01
相关资源
最近更新 更多