Php 类别';Grpc\BaseStub';找不到

Php 类别';Grpc\BaseStub';找不到,php,grpc,Php,Grpc,试图运行PHP客户机代码,由protoc从一堆*.proto文件生成。PHP代码在带有php7.3的docker容器上运行,GRPC扩展已安装并启用:pecl/GRPC已安装,与发布的版本1.23.1相同 当代码运行时,我得到以下错误:Class'Grpc\BaseStub'未找到 该错误由以下行触发:class ProductServiceClient extends\Grpc\BaseStub{。这是自动生成的代码中的一行,因此无法修改 [编辑] 运行composer require grp

试图运行PHP客户机代码,由
protoc
从一堆
*.proto
文件生成。PHP代码在带有php7.3的docker容器上运行,GRPC扩展已安装并启用:
pecl/GRPC已安装,与发布的版本1.23.1
相同

当代码运行时,我得到以下错误:
Class'Grpc\BaseStub'未找到

该错误由以下行触发:
class ProductServiceClient extends\Grpc\BaseStub{
。这是自动生成的代码中的一行,因此无法修改

[编辑] 运行
composer require grpc/grpc
解决了这个问题;但是,我现在没有找到
类“Google\Protobuf\Internal\Message”

[编辑] 运行composer require google/protobuf解决了第二个问题。

尝试添加grpc库:

composer require grpc/grpc

这解决了吗?@StanleyCheung oui,desole。我不想删除它,因为我认为它可能会帮助其他人。@chaseisabelle您有机会用本机扩展而不是composer包来修复它吗?@chaseisabelle要解决第二个问题,您需要安装protobuf扩展
pecl安装-f protobuf
这是一个通过使用gRPC的纯PHP版本,而不是使用编译版本。根据gRPC文档,最好使用编译c版本(PHP扩展),因为它的性能要好得多。@KhaledAttia,看起来它在更新的版本中有所改变-至少对于grpc-1.37,在文档
中有一个新的注释除了grpc扩展之外,您还需要安装grpc/grpc composer包
-