【微服务】用 PHP “打开” gRPC

一、软件环境

  • CentOS Linux release 7.6.1810
  • 推荐安装 lnmp 环境,参考链接 https://lnmp.org/install.html

二、“打开” gRPC 的步骤

1. 安装 gRPC 及其 php 扩展

git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
cd grpc
git submodule update --init
make
make install

cd src/php/ext/grpc
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
vi /usr/local/php/etc/php.ini
# 在 php.ini 文件中添加 grpc 扩展配置:extension=grpc.so

2. 安装 protobuf 及其 php 扩展

cd ../../../../third_party/protobuf
./autogen.sh
./configure
make
make install

cd php/ext/google/protobuf
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
vi /usr/local/php/etc/php.ini
# 在 php.ini 文件中添加 protobuf 扩展配置:extension=protobuf.so

3. 重启 php-fpm

执行命令 lnmp php-fpm restart 即可

4. 构建 grpc_php_plugin(用于根据 .proto 文件生成代码)并生成客户端代码

cd ../../../../../../
make grpc_php_plugin # 构建 grpc_php_plugin

cd examples/php
./greeter_proto_gen.sh  # 生产客户端 php 代码
composer install

5. 让 grpc 服务“飞一会”

① 安装 node,参考 https://blog.csdn.net/bbwangj/article/details/82253785 第三种方式
② 运行服务端

cd ../node
npm install
cd dynamic_codegen
node greeter_server.js

③ 打开另一个 shell 会话,运行客户端

cd ~
cd grpc/examples/php
./run_greeter_client.sh
# 下一秒你将会收到来自 grpc 亲切的 Hello world 问候!

指导文档

https://grpc.io/docs/quickstart/php.html
https://blog.csdn.net/bbwangj/article/details/82253785

你可能感兴趣的:(微服务,PHP)