You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google gRPC Failed to parse binary descriptor错误 Staging环境运行异常排查

报错信息:Error: Fatal Error (1): Failed to parse binary descriptor in [../app/Vendor/googleads/google-ads-php/metadata/Google/Ads/GoogleAds/V8/Services/ConversionUploadService.php, line 124]

排查方案

该报错为Google Ads PHP SDK v8依赖的protobuf组件无法解析元数据二进制文件导致,仅在Staging环境出现可优先核对两个环境的以下配置差异:

  • 核对protobuf扩展版本一致性:Google Ads PHP v8要求protobuf C扩展版本区间为3.19.x~3.21.x,禁止使用4.x版本,跨大版本会存在描述符解析兼容性问题。分别在Dev和Staging环境执行php -r "echo \Google\Protobuf\Version::VERSION . PHP_EOL;"对比输出,确保两边版本完全一致。
  • 核对Vendor目录完整性:部署Staging时如果是增量同步Vendor目录或者使用了缓存的依赖包,可能会导致SDK的metadata目录下二进制文件损坏或缺失。可删除Staging环境现有Vendor目录,重新执行composer install --no-dev --optimize-autoloader拉取完整依赖验证。
  • 核对protobuf实现方式一致性:如果Dev环境使用的是composer安装的纯PHP版google/protobuf依赖,Staging不要额外安装protobuf C扩展,两种实现混用会触发解析报错。
  • 核对文件权限配置:确认Staging环境下程序运行用户对vendor/googleads/google-ads-php/metadata目录及下属所有文件拥有可读权限,权限不足会导致读取文件失败抛出解析错误。
  • 核对PHP配置差异:对比Dev和Staging的php.ini配置,确认protobuf.enable_fork_support参数配置一致,部分环境开启该参数会导致二进制描述符解析失败。

内容的提问来源于stack exchange,提问作者rpm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:48:04