解决 protobuf 3 PHP 中枚举值报错问题🐘
条评论前两天在项目中突然遇到一个protobuf php库报错,报错为:
这个一看就是直接是索引下标,找不到值就超出报错了,再往前回溯一下报错,发现这个错误是
报出的。后来看了项目的.proto文件,发现是其他项目的同事更新了这个proto文件,把一个结构体的枚举值添加了一个,导致我们这边项目在收到这个结构体的时候无法识别。此时其实只要更新proto文件就可以解决问题,但是这样并不能一劳永逸,下一次遇到了枚举值增加的时候依旧会出现。
不过按说谷歌的protobuf php库用了这么多年应该没什么大问题,回溯一下代码发现在
这行代码的问题,这里直接使用的是,没有做异常处理。
再接着经过同事的发现,这个问题已经解决了,也已经有人提了pr
只需要把依赖升级一下即可,之前使用的是3.6.*
,直接升级到3.10.*
就可以解决问题。
本文标题:解决 protobuf 3 PHP 中枚举值报错问题🐘
文章作者:qianyugang
发布时间:2019-11-15
最后更新:2023-06-16
原始链接:https://102no.com/2019/11/15/php-protobuf-err/
版权声明:本网站发表的全部原创内容(不仅限于文章、图片,包含文章评论),著作权均归其发表者所有,均采用 CC BY-NC-SA 4.0 CN 许可协议。转载请注明作者以及原文链接,商业授权请联系作者。
分享