最近需要用Laravel实现一个Rest的API,后端调用Golang的RPC服务,记录一下整合的过程。
环境准备
- php安装grpc和protobuf扩展
pecl install grpc
pecl install protobuf
找到php.ini文件,添加下面两行:
extension=grpc.so
extension=protobuf.so
- clone一个grpc的repo
git clone https://github.com/grpc/grpc.git
假设目录在/home/aaa/下面
- 安装protobuf
apt install protobuf
准备proto文件
文件名:userrpc.proto,内容如下
syntax = "proto3";
package App.UserRpc;
service User{
rpc UserLogin(LoginInfo) returns (UserInfo) {}
}
message LoginInfo{
string loginname= 1;
string password= 2;
}
message UserInfo{
int32 code= 1;
string err_msg= 2;
string token= 3;
int32 userid= 4;
string username= 5;
}
其中定义了两种消息结构和一个rpc服务。

本文记录了使用Laravel实现REST API并调用Golang gRPC服务的整合过程,包括环境准备(安装grpc和protobuf扩展)、编写proto文件、生成PHP gRPC客户端代码并拷贝到指定目录,以及在Laravel中编写Controller进行调用。
2501

被折叠的 条评论
为什么被折叠?



