解决 protobuf 3 PHP 中枚举值报错问题

原文转载自 「把酒诗代码,趁乱写年华。」 (http://www.102no.com/archives/1721)

预计阅读时间 0 分钟(共 0 个字, 0 张图片, 0 个链接)

前两天在项目中突然遇到一个protobuf php库报错,报错为: "Undefined offset: 8","context" 这个一看就是直接是索引下标,找不到值就超出报错了,再往前回溯一下报错,发现这个错误是 Google\\Protobuf\\Internal\\Message 报出的。后来看了项目的.proto文件,发现是其他项目的同事更新了这个proto文件,把一个结构体的枚举值添加了一个,导致我们这边项目在收到这个结构体的时候无法识别。此时其实只要更新proto文件就可以解决问题,但是这样并不能一劳永逸,下一次遇到了枚举值增加的时候依旧会出现。 不过按说谷歌的protobuf php库用了这么多年应该没什么大问题,回溯一下代码发现在 https://github.com/pr......

阅读全文 »
more_vert