Php 更新protolib和protoc后,gRPC不再工作

Php 更新protolib和protoc后,gRPC不再工作,php,grpc,protoc,Php,Grpc,Protoc,昨天我的ubuntu更新了(从日志) 用于PHP的Grpc 命令行:aptdaemon role='role-commit-packages'sender=':1.567' 升级:libprotoc dev:amd64(3.5.0-0~maarten0+artful, 3.5.0.1-0~maarten0+artful),libprotoc15:amd64(3.5.0-0~maarten0+artful,3.5.0.1-0~maarten0+artful), gnome软件插件快照:amd64(

昨天我的ubuntu更新了(从日志) 用于PHP的Grpc

命令行:aptdaemon role='role-commit-packages'sender=':1.567' 升级:libprotoc dev:amd64(3.5.0-0~maarten0+artful, 3.5.0.1-0~maarten0+artful),libprotoc15:amd64(3.5.0-0~maarten0+artful,3.5.0.1-0~maarten0+artful), gnome软件插件快照:amd64(3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1),gnome软件:amd64(3.26.1-0ubuntu2,3.26.1-0ubuntu2.17.10.1),谷歌浏览器稳定版:amd64(62.0.3202.94-1,63.0.3239.84-1),protobuf编译器:amd64(3.5.0-0~maarten0+artful,3.5.0.1-0~maarten0+artful),ubuntu软件:amd64(3.5.0-0~maarten0+巧妙,3.5.0.1-0~maarten0+巧妙), gnome软件插件flatpak:amd64(3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1),libprotobuf15:amd64(3.5.0-0~maarten0+artful,3.5.0.1-0~maarten0+artful), libprotobuf开发:amd64(3.5.0-0~maarten0+artful, 3.5.0.1-0~maarten0+artful),gnome通用软件:amd64(3.26.1-0ubuntu2,3.26.1-0ubuntu2.17.10.1)

当重新启动时,我无法发出任何Grpc请求,我确实有extension=Grpc.so在我的php.ini文件和昨天运行的相同代码中,我也尝试在我的composer文件中更新它,也尝试重新安装Grpc以及从我的proto文件中重新创建类。由于某种原因,它不再工作

我总是得到同样的回答

消息:“找不到类“Grpc\ChannelCredentials”

有没有办法解决这个问题(或者出了什么问题)


编辑:我在本地服务器上使用docker-现在有可能有两个不同的版本发生冲突吗?

这真的很奇怪,因为根据你的日志,只有protobuf从3.5.0升级到3.5.0.1和gnome软件升级。它们似乎不会破坏grpc。我安装了这些软件包,然后在2007年安装了grpc-1.7.0和protobuf-3.5.0.1“sudopecl安装grpc(protobuf)”但它们运行良好

错误“Class'Grpc\ChannelCredentials'not found”很可能意味着Grpc.so扩展未正确加载。我们应该找到问题所在。您可以尝试

  • 使用“-d extension=/path/to/grpc.so”直接运行php程序,或重新启动php以检查php是否存在问题
  • 或者找出是gRPC的问题

以防万一有人有类似问题 我的问题的解决方案是在docker内部。无论出于什么原因,我的grpc安装丢失了

我通过连接docker bash并再次使用安装grpc修复了它

pecl安装grpc

在我的php.ini文件中,readed extensions=grpc.so


编辑:每次我在docker compose中更改antyhing时都会发生相同的问题。yaml

而且我对docker是新手,因为我的项目在那里……现在docker env或笔记本电脑中出现问题了吗?因为在docker中很长一段时间没有任何更改