«

怎么通过php+roadrunner实现grpc服务端

时间:2024-6-3 12:52     作者:韩俊     分类: PHP


这篇文章主要讲解了“怎么通过php+roadrunner实现grpc服务端”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么通过php+roadrunner实现grpc服务端”吧!

通过php+roadrunner实现grpc服务端

我用的php版本: php 8.2

安装 命令行输入

composer install

获取 rr.exe 可执行文件命令行输入

./vendor/bin/rr get-binary

启动服务 ./rr.exe serve

客户端

我这里用的是ApiPost 支持grpc测试

打开apipost客户端,新建grpc,选择导入proto  

选择项目目录的 grpc/protos/base/hello-world.proto 文件

protoc构建步骤

1 根据自己的需求创建Protobuf的 hello-world.proto 文件

2 通过 hello-world.proto 生成 php 类文件

这里需要下载两个可执行文件把 hello-world.proto 生成 php文件,

因为我用的是win10:

所以下载的是 protoc.exe 和 protoc-gen-php-grpc.exe 

这两个文件我放在项目里 protoc-22.3-win64 文件夹里面,如果你和我环境一样直接用我下载好的即可,其他平台请自行下载

下载地址:https://github.com/roadrunner-server/roadrunner/releases

生成php文件命令如下:./protoc.exe --plugin=protoc-gen-php-grpc.exe --php_out=./ --php-grpc_out=./ hello-world.proto

这里会在当前目录下生成两个文件夹:GPBMetadata 和 Services

把生成好的文件夹复制到 项目目录的 grpc/generated 目录下
root
├─app
│  ├─console 
│  ├─services        
│  │   ├─Task        //异步任务│  │   └─HelloService.php   //写自己的业务│  └─support
├─config
├─grpc
│ ├─generated         //使用protoc自动构建的类均存在这│ │  ├─Services       //服务统一命名空间│ │  └─GPBMetadata    //GRPC生成的元数据├ └─protos            //所有proto存在这里

标签: php php教程

热门推荐