执行composer update时依赖无法解析:缺失PHP扩展mongodb
解决Composer更新时缺少mongodb PHP扩展的问题
看起来你在执行composer update的时候碰上个头疼的依赖问题了——核心原因很简单:你的系统里没装PHP的mongodb扩展,而你要安装的jenssegers/mongodb包依赖的mongodb/mongodb系列版本,全要求这个扩展才能运行。
先给你理清楚错误链:
- 你要安装
jenssegers/mongodb ^3.3,它只接受mongodb/mongodb ^1.0.0的版本 - 但所有符合条件的
mongodb/mongodb版本,不管是1.0.x还是1.1.x、1.2.x,都明确要求系统必须安装对应版本的ext-mongodb扩展 - 而你的系统刚好缺这个扩展,所以Composer直接卡壳了
接下来按步骤解决就行:
1. 安装mongodb PHP扩展
根据你的系统选对应的安装方式:
- Ubuntu/Debian类Linux:
sudo apt-get install php7.1-mongodb - macOS(用Homebrew):
brew install php71-mongodb - 通用方法(用PECL):
pecl install mongodb
2. 启用扩展
装完之后得确保PHP能识别到这个扩展:
- 先运行
php --ini找到CLI模式下PHP用的配置文件路径(就是错误提示里的那几个.ini文件) - 打开其中一个配置文件(比如
/usr/local/etc/php/7.1/php.ini),在末尾添加一行:extension=mongodb.so
3. 验证扩展是否生效
运行下面的命令,看看输出里有没有mongodb:
php -m | grep mongodb
如果有,说明扩展已经成功加载了。
4. 重新执行Composer更新
最后再跑一遍:
composer update
应该就能正常完成依赖安装了。
内容的提问来源于stack exchange,提问作者user8419103
相关产品推荐
相关产品推荐

