最近,我将我的一个项目(PHP 7.4/Lumen/Ubuntu 20.04)从MongoDB迁移到了与MongoDB兼容的AWS DocumentDB。迁移后,所有CLI脚本都触发了此奇怪的通知/警告
bson_append_array(): invalid array detected. first element of array parameter is not "0".
除了这条消息之外,所有的功能似乎都在正常工作(即使我从ini文件中隐藏了所有的PHP错误,这仍然显示出来)。我不太清楚到底发生了什么。
消息实际上来自“find”方法。我也试过抑制味精,但没有运气。
有人知道这是怎么回事吗?感谢并感谢您提前的所有回复。
- DocumentDB版本4.0
- PHP SDK Composer版本1.9.0
3条答案
按热度按时间tf7tbtn21#
如果将
&authMechanism=SCRAM-SHA-1
添加到连接字符串,则显示警告。ggazkfy82#
我根据我目前的发现回答我自己的问题。
由于AWS DocumentDB与MongoDB不是100%兼容,因此似乎没有解决方案(根据mongoDB文档,超过66%的DocumentDB正确性测试失败)。此外,要获得AWS对这类不兼容问题的支持是非常困难的,他们总是把你推荐给公共用户论坛。
MongoDB最近发表了一篇博客文章,总结了DocumentDB的不兼容问题,这很有意义。你可以在这里详细阅读-https://www.mongodb.com/atlas-vs-amazon-documentdb/compatibility
我的建议是,如果你正在考虑使用documentDB作为Mongo的替代品,不要麻烦。保存您宝贵的时间,坚持使用MongoDB。
krcsximq3#
在连接中添加
[ "retryWrites"=>false]
以允许通过php脚本进行写操作并禁用警告添加&authMechanism=SCRAM-SHA-1