一、软件环境
- CentOS Linux release 7.6.1810
- 推荐安装 lnmp 环境,参考链接 https://lnmp.org/install.html
git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
cd grpc
git submodule update --init
make
make installcd 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 installcd 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 【微服务|【微服务】用 PHP “打开” gRPC】执行命令
lnmp php-fpm restart
即可4. 构建 grpc_php_plugin(用于根据 .proto 文件生成代码)并生成客户端代码
cd ../../../../../../
make grpc_php_plugin # 构建 grpc_php_plugincd 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
推荐阅读
- 微服务|微服务系列:服务发现与注册-----Eureka(面试突击!你想了解的Eureka都在这里.持续更新中......)
- 每日一书|每日一书丨学习微服务最好的方式(阅读《微服务架构设计模式》)
- 对GO切片的理解
- 小程序商城网站开发秒杀模块篇
- 盲盒购物网站系统开发建设 第三篇
- Netty核心概念之ChannelHandler&Pipeline&ChannelHandlerContext
- 简单的线程池实现多线程对大文件的读取
- SSH 端口转发与 SOCKS 代理
- Ubuntu16.04/Scala2.11.8安装教程
- 学习PHP中的高精度计时器HRTime扩展