如何解决谁能帮我从 Google Ads API 调试“之前加载了原型描述符”
$googleAdsClient->getGoogleAdsServiceClient()->search($customerId,$query,$page_size);
错误信息:
proto descriptor was prevIoUsly loaded (included in multiple Metadata bundles?): google/ads/googleads/v5/enums/policy_topic_evidence_destination_not_working_dns_error_type.proto
$googleAdsClient 是 \Google\Ads\GoogleAds\Lib\V5\GoogleAdsClient
的一个实例。
getGoogleAdsServiceClient
方法来自 ServiceClientFactoryTrait
trait /Google/Ads/GoogleAds/Lib/V5/ServiceClientFactoryTrait.PHP
我正在跑步:
PHP 7.4.1
grpc module version => 1.34.0
protobuf version => 3.14.0
通过 composer 安装的其他库:
google/grpc-gcp 0.1.5 gRPC GCP library for channel management
google/protobuf v3.13.0.1 proto library for PHP
googleads/google-ads-PHP v5.0.0 Google Ads API client for PHP
grpc/grpc 1.30.0 gRPC library for PHP
我对描述符或 protobuf 库的了解不够,无法理解此错误。它几天前才开始发生,我认为我们没有做出任何会影响这一点的改变。任何帮助/指导将不胜感激。
编辑:忘记链接到 SDK https://github.com/googleads/google-ads-php
编辑:更新了以下库:
google/apiclient v2.9.1 Client library for Google Apis
google/apiclient-services v0.161.0 Client library for Google Apis
google/auth v1.15.0 Google Auth Library for PHP
google/common-protos 1.3 Google Api Common Protos for PHP
google/gax 1.7.0 Google Api Core for PHP
google/grpc-gcp 0.1.5 gRPC GCP library for channel management
google/protobuf v3.15.3 proto library for PHP
googleads/google-ads-PHP v7.0.0 Google Ads API client for PHP
grpc/grpc 1.35.0 gRPC library for PHP
google/protobuf v3.15.3 proto library for PHP
解决方法
我发现了这个问题。我通过 pecl install protobuf
安装了 C 实现。感觉我在 docker 容器中运行我的应用程序,每次我构建一个新镜像时,它都会安装最新版本的 protobuf。感觉我是在 2 月 22 日左右开始看到这个错误的>
为了解决这个问题,我通过 Dockerfile 中的 pecl install protobuf-3.14.0
命令降级到 3.14.0 版。这不是永久性修复,因为有时我想升级软件包,但我将不得不等待处理此问题的版本。
错误是因为您的项目有两个库为同一个文件 policy_topic_evidence_destination_not_working_dns_error_type.proto
提供了原型描述符。
看起来此问题已在版本 v6 中针对 Google 广告库 link
只需将库更新到 v6 及更高版本(最新的是 v7),它应该可以解决问题 Latest Release
,我有同样的错误,我注释掉了这一行
; extension=protobuf.so
在 /etc/php/7.4/apache2/php.ini 和 在 /etc/php/7.4/cli/php.ini 并重启apache
sudo service apache2 restart
错误消失了,我希望这对某人有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。