我是GRPC的新手我阅读了快速入门指南和PHP基础知识。但是我看到很多人都在使用NodeJS为grpc运行服务器端。但我想要实现的是在grpc的两端使用PHP并仅在PHP中创建Server + Client。
所以就像客户端会将信息发送给服务器和服务器 将实时处理信息。
我已经检查了测试用例文件ServerTest.php代码在
之下class ServerTest extends PHPUnit_Framework_TestCase
{
public function setUp()
{
}
public function tearDown()
{
}
/**
* @expectedException InvalidArgumentException
*/
public function testInvalidConstructor()
{
$server = new Grpc\Server('invalid_host');
}
/**
* @expectedException InvalidArgumentException
*/
public function testInvalidAddHttp2Port()
{
$this->server = new Grpc\Server([]);
$this->port = $this->server->addHttp2Port(['0.0.0.0:0']);
}
/**
* @expectedException InvalidArgumentException
*/
public function testInvalidAddSecureHttp2Port()
{
$this->server = new Grpc\Server([]);
$this->port = $this->server->addSecureHttp2Port(['0.0.0.0:0']);
}
}
我不确定这是否可行,任何帮助都会受到高度关注:
感谢
答案 0 :(得分:6)
您可以使用gRPC PHP客户端连接到以Node,Java,Python或许多其他受支持的语言编写的服务器,但目前gRPC不支持编写PHP服务器。 Android MediaCodec Documentation描述了如何设置客户端。
有一些关于在PHP中实现gRPC服务器的讨论,例如,提到gRPC PHP tutorial的gRPC到FastCGI网桥,但目前gRPC不支持此功能。
答案 1 :(得分:1)
roadrunner可能会有所帮助。这是带有php worker pool的golang前端服务器。
答案 2 :(得分:1)
如“ Eric G”所说,gRPC目前不支持php服务器。 这里是Official gRPC网站上的信息:
请注意,当前您只能在PHP中为gRPC服务创建客户端-您可以在其他教程中找到如何创建gRPC服务器的信息,例如Node.js。
您可以使用gRPC社区项目,如下所示: https://github.com/spiral/php-grpc
希望这会有所帮助
答案 3 :(得分:0)
https://roadrunner.dev/ 是 PHP 的应用服务器,可以让您实现这一点。 我最近在设置时记了一些笔记,并在那里发布了这些笔记:https://dev.to/khepin/building-a-grpc-server-in-php-3bgc。希望这会有所帮助,尽管答案会在问题之后出现一段时间。
答案 4 :(得分:-4)