文章目录

不积跬步无以至千里

记录精彩的程序人生

CentOS 7安装 GRPC (PHP作为客户端) 有更新!

  aluaa

一、初始化PHP环境

PHP在使用过程中依赖一下几项内容

  • grpc.so
  • protobuf.so 或 composer依赖
  • grpc_php_plugin 用来生成文件

1、编译安装php的grpc插件 grpc_php_plugin(从Protobuf IDL生成PHP gRPC服务接口)

git clone https://github.com/grpc/grpc.git
cd grpc
git pull --recurse-submodules && git submodule update --init --recursive
make
sudo make install  

make install 会在 /usr/local/bin 目录下生成以下文件
grpc_cpp_plugin
grpc_csharp_plugin
grpc_node_plugin
grpc_objective_c_plugin
grpc_php_plugin
grpc_python_plugin
grpc_ruby_plugin
如果只用PHP作为客户端,可以只变编译grpc_php_plugin
make grpc_php_plugin
make install

2、安装PHP 扩展

方法1:pecl方式安装(推荐,方便快捷!)

pecl install grpc 
pecl install protobuf

方法2:编译安装(喜欢折腾的可以使用)

cd grpc/src/php/ext/grpc
/usr/local/php/bin/phpize
./configure
make
make install
git clone https://github.com/allegro/php-protobuf
/usr/local/php/bin/phpize
./configure
make
make install

最后需要在php.ini里面增加如下内容:

extension=grpc.so
extension=protobuf.so

3、测试

启动服务端(GO):

cd /Golang/src/google.golang.org/grpc/examples
go run helloworld/greeter_server/main.go 

启动客户端(PHP)

cd /Golang/src/grpc/examples/php
php greeter_client.php 

服务器输出:
Received: world
客户端输出:
Hello world

成功!

validate