我们可以用PHP而不是NodeJS创建GRPC服务器吗?

时间:2017-01-10 08:02:27

标签: php grpc

我是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']);
    }
}

我不确定这是否可行,任何帮助都会受到高度关注:

感谢

5 个答案:

答案 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)

  

我不确定这是否可能

阅读gRPC - gRPC is a language neutral and platform neutral

的说明

是的,你可以。 gRPC PHP tutorial

相关问题