3 回答

TA贡献1784条经验 获得超8个赞
这是一件很疯狂的事情!
论坛中不时出现“无法推送限制”错误。关于问题可能出在哪里,那里给出了各种想法。一个原因可能是源代码通过 Composer 在本地 PC 上编写,然后通过 (S)FTP 传输到服务器。FTP 程序根据文件扩展名决定将数据以 ASCII 格式还是二进制格式保存在服务器上。
在 vendor/google/protobuf/src/Google/Protobuf/ 中,有各种生成的文件具有 .php 扩展名,但实际上是二进制文件!(如果您打开文件,您可以立即看到它,例如:vendor/google/protobuf/src/GPBMetadata/Google/Protobuf/Any.php)在我的案例中,通过二进制文件将这些文件显式传输到服务器的解决方案有效!如果有疑问,请将 Google/protobuf 中的完整模块作为二进制文件传输...

TA贡献1853条经验 获得超9个赞
你提到那$byte_limit <= $this->current_limit - $current_position
是真的,所以要么$byte_limit >= 0
或要么$byte_limit <= PHP_INT_MAX - $current_position
是假的。
如果$byte_limit <= PHP_INT_MAX - $current_position
是假的,那么增加$current_position
,不会变成真的。如果要调整值,使表达式被评估为真,则需要增加 PHP_INT_MAX 的值。
如果$byte_limit >= 0
为假,则修改$current_limit
不会避免异常。
无论哪种方式,错误似乎都是protobuf
php 库的问题,所以我建议您在那里报告问题,而不是尝试直接修改值。
- 3 回答
- 0 关注
- 184 浏览
添加回答
举报