首頁  >  文章  >  後端開發  >  一文詳解透過php+roadrunner實現grpc服務端

一文詳解透過php+roadrunner實現grpc服務端

藏色散人
藏色散人轉載
2023-04-21 15:57:371921瀏覽

這篇文章為大家帶來了關於PHP的相關知識,其中主要跟大家介紹怎麼透過php roadrunner實現grpc服務端,有興趣的朋友下面一起來看一下吧,希望對大家有幫助。

一文詳解透過php+roadrunner實現grpc服務端

透過php roadrunner實作grpc服務端

#倉庫位址:

https://github.com/zhonghaibin/php-grpc-serve

下載原始碼:

git clone https://github.com/zhonghaibin/php-grpc-serve

我使用的php版本: php 8.2

安裝命令列輸入   

composer install

取得rr.exe 執行檔命令列輸入

./vendor/bin/rr get-binary

啟動服務./rr.exe serve
一文詳解透過php+roadrunner實現grpc服務端

客戶端

我這裡用的是ApiPost 支援grpc測試

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

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

一文詳解透過php+roadrunner實現grpc服務端

##grpc參考文件:

roadrunner.dev/docs/plugins-grpc/2...

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+roadrunner實現grpc服務端的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除