【发布时间】:2019-04-29 10:06:20
【问题描述】:
在设置一切以使用 grpc 之后,根据 php "https://grpc.io/docs/quickstart/php.html" 的 grpc 文档,我尝试从使用 proto 编译器编译一些 proto 文件获得的类中构造一个客户端对象。
$rezept_nameservice_client = new Rezept_NameserviceClient('localhost:8082',
[ 'credentials' => Grpc\ChannelCredentials::createInsecure()]);
当我尝试运行我的代码时,出现以下异常:
尝试从命名空间“App\Controller\Grpc”加载类“ChannelCredentials”。 您是否忘记了另一个命名空间的“使用”语句?
工作环境:
- Ubuntu 18.04
- Phpstorm
- Symfony 4.1
- Nginx 1.14.0
- grpc v1.15.0
- protobuf v3.6.1
我已经尝试了不同的方法来解决我在这里发现的问题:
【问题讨论】:
-
你需要一个前导反斜杠,\Grpc\ChannelCredentials::createInsecure()
-
我添加了一个前导反斜杠,但问题是一样的
-
嗯。似乎有点不太可能。您是否已经研究过您在 Symfony 之外链接的文档中的示例?似乎有很多安装步骤要遵循,我想跳过一个很容易。我所能建议的就是在尝试在 Symfony 内部使用之前重新开始并让示例正常工作。
-
我在一个新的虚拟机上安装了所有干净的东西,它的工作环境与问题描述中的相同,并且由于某种原因它可以工作。我使用 c 库从源代码构建它,就像在 gprc 文档中一样,当它不起作用时,“make”命令的工作时间比以前长得多。