You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony部署VPS报错:MongoDB\Driver\Monitoring\CommandSubscriber类未找到

问题解决:Symfony部署时MongoDB CommandSubscriber类找不到错误

错误根源

MongoDB\Driver\Monitoring\CommandSubscriber 接口是mongodb扩展1.19.0版本才新增的,你当前使用的1.18.0版本不包含这个接口,而DoctrineMongoDBBundle的APM组件(StopwatchCommandLogger)依赖该接口,因此触发报错。

解决方案

1. 升级mongodb扩展到1.19.0及以上版本

  • 卸载旧版本扩展:
    pecl uninstall mongodb
    
  • 安装指定兼容版本(或最新稳定版):
    # 安装1.19.0版本
    pecl install mongodb-1.19.0
    # 或者直接安装最新稳定版
    pecl install mongodb
    
  • 确认php.ini中extension = mongodb配置已生效,重启PHP-FPM或Web服务器(如Nginx/Apache)。

2. 验证扩展版本

执行以下命令确认版本更新:

php -i | grep "MongoDB extension version"

确保输出版本为1.19.0及以上。

3. 清除Symfony缓存

生产环境下执行缓存清理,避免旧缓存残留的类映射问题:

php bin/console cache:clear --env=prod

4. 检查DoctrineMongoDBBundle兼容性

如果升级扩展后仍有问题,检查composer.json中doctrine/mongodb-odm-bundle的版本,确保其与你的PHP版本、mongodb扩展版本匹配。执行以下命令查看当前包版本:

composer show doctrine/mongodb-odm-bundle

内容的提问来源于stack exchange,提问作者Sébastien Borgne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 04:22:39