PHP 7.2配置Codeception的MongoDb时触发未捕获参数计数错误
解决Codeception配置MongoDb时的ArgumentCountError致命错误
嘿,我一眼就瞅到问题所在了!你在enabled列表里启用的是Codeception\Lib\Driver\MongoDb——这可是个底层驱动类,根本不能直接当模块来启用!它的构造函数需要额外的内部参数(比如模块实例之类的),直接启用它肯定会触发参数不足的错误。
正确的姿势是启用MongoDb模块本身,而不是这个驱动类。给你修正后的配置:
modules: config: MongoDb: dsn: 'mongodb://##.##.##.##:27017/test_data' user: 'root' password: '###' dump_type: MongoDb::DUMP_TYPE_JS dump: 'tests/_data/name.json' populate: true cleanup: false enabled: - MongoDb
另外,再给你几个要确认的点:
- 先确保你装对了依赖:PHP7.2环境下,推荐安装
codeception/module-mongodb包(适配新的MongoDB PHP扩展),如果是老的Mongo扩展才用codeception/mongodb-module - 检查
tests/_data/name.json这个dump文件确实存在,而且PHP有读取权限 - 再核对下MongoDB的连接信息:IP、端口、用户名密码都要正确,保证你的PHP环境能连上这个MongoDB服务器
这么改完之后,Codeception就能正确初始化MongoDb模块,而不是直接调用底层驱动,那个参数不足的致命错误应该就消失啦!
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

