php安装grpc,CentOS6.9 安装gRPC

基础环境:CentOS6.9,php 5.6.36

在CentOS 6.x里面,首先要解决的是GCC版本过低、GLIBC版本过低和Node.js版本过低的问题

本文章内对于编译安装的路径进程处理,请注意路径问题,不要被我带跑偏了

升级GCC版本

# gcc -v

可以看到gcc的版本号是4.4.7

# vim /etc/yum.repos.d/devtools-2.repo

[testing-devtools-2-centos-$releasever]

name=testing 2 devtools for CentOS $releasever

baseurl=http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS

gpgcheck=0

# yum install devtoolset-2-gcc-4.8.2 devtoolset-2-gcc-c++-4.8.2 devtoolset-2-binutils devtoolset-2-gcc-gfortran

# ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/

# hash -r     # 这一步很重要

可以看到GCC版本已经升级为4.8.2

升级GLIBC版本

两种方法:编译安装法和rpm包安装法

编译安装法:

查看当前glibc版本

编译法升级到2.14即可

# tar zxvf glibc-2.14.tar.gz

# mkdir glibc-build-2.14

# cd glibc-build-2.14/

# ../glibc-2.14/configure –prefix=/src/glibc-2.14/

# make && make install

# cp /src/glibc-2.14/lib/libc.so.6 /lib64/libc-2.14.so

# rm -rf /lib64/libc.so.6 && LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6

# 这一步至关重要,稍有不慎即系统崩溃,所以操作的时候需要谨慎谨慎再谨慎

rpm包安装法:

升级Node.js版本

选择CentOS 7.5内默认的nodejs版本6.14.2

# tar zxf node-v6.14.2-linux-x64.tar.gz

# mv node-v6.14.2-linux-x64 node

# cd node/bin

# vim /etc/profile

export PATH=$PATH:/node/bin

# source /etc/profile

# npm -v

3.10.10

# node -v

v6.14.2

以上,就解决了环境问题,剩下的就按照官网文档即可

官方文档:https://grpc.io/docs/quickstart/php.html

以下操作就按照官方文档有选择的来操作

使用gRPC C核心库构建源代码

# git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc

# cd grpc

# git submodule update –init

# make && make install

构建并安装gRPC PHP扩展

# cd src/php/ext/grpc/

# phpize

# ./configure && make && make install

# vim /php/etc/php.ini

extension=grpc.so

安装Composer

# curl -sS https://getcomposer.org/installer | php

# mv composer.phar /usr/local/bin/composer

安装protoc

# mkdir protoc

# mv protoc-3.5.1-linux-x86_64.zip protoc

# cd protoc/

# unzip -e protoc-3.5.1-linux-x86_64.zip

# cd bin/

# pwd

/protoc/bin

# vim /etc/profile

export PATH=$PATH:/php/bin:/protoc/bin

# source /etc/profile

安装protobuf

# pecl install protobuf

# vim /php/etc/php.ini

extension=protobuf.so

安装PHP Protoc插件

# cd /grpc

# git submodule update –init

# make grpc_php_plugin

# cd examples/php/

# ./greeter_proto_gen.sh

# composer install

运行gRPC

# cd /grpc/examples/node

# npm install

如上图最后会有两个警告,暂时无视之

# cd dynamic_codegen/

# node greeter_server.js

如果没有报错,那么nodejs服务端就启动起来了

另起一个终端

# cd /grpc/examples/php/

# ./run_greeter_client.sh

自此,gRPC搭建完成

你可能感兴趣的:(php安装grpc)