我的编程空间,编程开发者的网络收藏夹
学习永远不晚

php调用grpc的安装过程详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

php调用grpc的安装过程详解

引言

最近几天在搞golang的grpc,跑通之后想用php作为客户端调用一下grpc服务,结果拉了,一个php的grpc服务安装,搞了好几天,总算搞定了。对了,搞定的是linux下的,自己本地是M1的mac,还没有搞定?

需要安装的程序

  • grpc安装
  • protobuf安装
  • 编译 gRPC PHP 扩展程序
  • grpc_php_plugin 依赖安装
  • 在 php.ini 中启用 gRPC 扩展程序

grpc的安装

git clone https://github.com/grpc/grpc
cd grpc
git submodule update --init
make
sudo make install

protobuf 安装

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip
 
unzip protoc-3.14.0-linux-x86_64.zip

# 移动安装proto (cd到解压目录bin中后执行)
mv protoc /usr/local/bin
 
# 把`include`目录的内容复制(cd到解压目录include中后执行)
cp -r google /usr/local/include

编译 gRPC PHP 扩展程序

#方案一
cd class="lazy" data-src/php/ext/grpc #注意此时处于上边安装的grpc目录下
phpize 
#此时报错 
#Can't find PHP headers in /usr/include/php
#The php-devel package is required for use of this command.
安装php-devel 即可,yum install -y  php-devel 
./configure
make
sudo make install
#方案二
$ grpc_root="$(pwd)"
$ cd class="lazy" data-src/php/ext/grpc
$ phpize
$ GRPC_LIB_SUBDIR=libs/opt ./configure --enable-grpc="${grpc_root}"
$ make
$ [sudo] make install

grpc_php_plugin 依赖安装

$ git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc
$ cd grpc
$ git submodule update --init
$ mkdir -p cmake/build
$ cd cmake/build
$ cmake ../..
$ make protoc grpc_php_plugin

在 php.ini 中启用 gRPC 扩展程序

将此行添加到 php.ini 文件中的任意位置,例如 /etc/php7/cli/php.ini。 

您可以通过运行 php --ini 找到此文件。

extension=grpc.so

根据proto文件,自动生成php客户端相关文件

protoc --proto_path=./ --php_out=./ --grpc_out=./ --plugin=protoc-gen-grpc=/usr/local/bin/grpc_php_plugin grpcdemo.proto

参考网站 github.com/grpc/grpc/t…

以上就是php 调用grpc的安装过程详解的详细内容,更多关于php调用grpc安装的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

php调用grpc的安装过程详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 应用的安装过程详解

Android 应用安装过程:首先一个android项目,然后编译和打包,将.java文件编译为.class,.class编译为.dex,将所有文件打包为一个apk,只编译代码,不编译资源。 .apk里面的.arsc是资源的索引,当资源比较
2022-06-06

Hadoop的安装过程详解

本篇内容主要讲解“Hadoop的安装过程详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hadoop的安装过程详解”吧!安装JDK解压jdk压缩包 tar -zxvf /home/hadoop
2023-06-03

Neo4j安装过程详解

在安装neo4j之前,需要安装Java JRE,并配置Java开发环境,然后安装neo4j服务。一、CentOS下安装1.下载Neo4j去官网下载最新的neo4j,选择社区版。地址:https://neo4j.com/download/other-releas
Neo4j安装过程详解
2020-03-30

CentOS 7 安装 Jenkins过程详解

通过 Yum 安装 Jenkins一、安装# yum 源导入 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-
2022-06-04

ecshop图文安装过程详解

ECShop是一款优秀的网店系统平台,这篇文章为大家总结了Ecshop的详细安装图解,和大家分享一下,希望可以帮助到初识Ecshop的朋友! ECShop 的安装非常简单、方便,任何一种编码程序的安装方法都是一样的(即 GBK 和 UTF-
2022-06-12

linux系统安装msf的过程详解

还是自己写下安装过程吧! 我的服务器系统是 Aliyun linux1、下载安装 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/
2022-06-03

Apache安装的详细过程

这篇文章主要讲解了“Apache安装的详细过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Apache安装的详细过程”吧!第一步:安装openssl1、解压软件:# tar xvfz op
2023-06-10

Nagios的详细安装过程

这篇文章主要讲解了“Nagios的详细安装过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nagios的详细安装过程”吧!Nagios是一款企业级网络监控系统,它功能之强大,管理之简单,使
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录