昨天我的ubuntu进行了更新(来自日志) 用于PHP的Grpc
命令行:aptdaemon role ='role-commit-packages'deler =':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-software-plugin-snap:amd64(3.26.1-0ubuntu2, 3.26.1-0ubuntu2.17.10.1),gnome-software:amd64(3.26.1-0ubuntu2,3.26.1-0ubuntu2.17.10.1),google-chrome-stable:amd64(62.0.3202.94-1,63.0。 3239.84-1),protobuf-compiler:amd64(3.5.0-0~maarten0 + artful,3.5.0.1-0~maarten0 + artful),ubuntu-software:amd64(3.26.1-0ubuntu2,3.26.1-0ubuntu2。 17.10.1),libprotobuf-lite15:amd64(3.5.0-0~maarten0 + artful,3.5.0.1-0~maarten0 + artful), gnome-software-plugin-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-dev:amd64(3.5.0-0~maarten0 + artful, 3.5.0.1-0~maarten0 + artful),gnome-software-common:amd64(3.26.1-0ubuntu2,3.26.1-0ubuntu2.17.10.1)
当重新启动时我无法发出任何Grpc请求我在我的php.ini文件中有extension = grpc.so并且昨天同样的代码工作,我也尝试在我的composer文件中更新它,也尝试重新安装Grpc以及从我的proto文件重新创建类。由于某种原因,它将不再起作用。
我总是得到相同的回应
消息:“未找到类'Grpc \ ChannelCredentials'”
任何想法如何解决(或出了什么问题)?
编辑:我使用docker作为本地服务器 - 现在可能有2个不同的版本冲突吗?答案 0 :(得分:1)
这真的很奇怪,因为基于你的日志,只有protobuf从3.5.0升级到3.5.0.1和gnome-software升级。看来他们不会打破grpc。我安装了这些软件包,然后通过“sudo pecl install grpc(protobuf)”安装了grpc-1.7.0和protobuf-3.5.0.1,但它们运行良好。
错误“Class'Grpc \ ChannelCredentials'未找到”很可能意味着未正确加载grpc.so扩展名。我们应该找到问题所在。你可以尝试
答案 1 :(得分:0)
以防有人遇到类似问题 解决我的问题是在docker里面。无论出于何种原因,我的grpc安装都丢失了
我通过连接到docker bash并使用
再次安装grpc来修复它pecl install grpc
和我的php.ini文件中的readded extensions = grpc.so
编辑:每次我在docker-compose.yaml中更改antyhing时都会出现同样的问题