热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

grpc服务端php配置,mac环境下安装grpc的PHP客户端

前言自己本地环境原本有个PHP7.1的版本,结果在装grpc时一直提示没有权限把grpc.so拷贝到PHP扩展目录下,就重新装了一次php此次安装涉及的

前言

自己本地环境原本有个PHP7.1的版本,结果在装grpc时一直提示没有权限把grpc.so拷贝到PHP扩展目录下,就重新装了一次php

此次安装涉及的有:

PHP

composer

pecl

grpc

php的grpc扩展

protobuf

php的protoc插件

安装

1.覆盖原来的php

# 安装PHP

brew intall php

# 优先使用新安装的PHP7.2,即配置环境变量,这一步要注意自己的PHP目录,以下是我的目录

# 我的shell使用的是zsh,所以导入到~/.zshrc下,要注意自己的shell是什么,导入到自己使用的shell配置文件里

echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.zshrc

echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc

# 使用配置文件,使其生效

source ~/.zshrc

# 查看PHP的版本是否是自己安装的

php -v

php-fpm -v

2.安装grpc及其扩展

安装grpc

brew install grpc

安装PHP的grpc扩展

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

cd grpc

git submodule update --init

make

sudo make install

#这一步我本地报错找不到autolocal,查后需要安装automake,用brew install automake即可

cd grpc/src/php/ext/grpc

phpize

./configure

make

sudo make install

以上都OK的话,在phpinfo里应该可以看到grpc的信息了

3.安装protobuf

pecl install protobuf

安装成功后,phpinfo里会有protobuf的信息.

4.demo

下载example

$ # Clone the repository to get the example code:

$ git clone -b v1.24.0 https://github.com/grpc/grpc

$ # Build grpc_php_plugin to generate proto files if not build before

$ cd grpc && git submodule update --init && make grpc_php_plugin

$ # Navigate to the "hello, world" PHP example:

$ cd examples/php

$ ./greeter_proto_gen.sh

$ composer install

我本地跑的是go的grpc服务端,所以不安装服务端了。demo里是用node做服务端。如下:

$ npm install

$ cd dynamic_codegen

$ node greeter_server.js

运行PHP的客户端:

$ ./run_greeter_client.sh

没问题的话,在服务端会显示:

$ 2019/10/18 16:03:50 Received: world

参考链接:

https://grpc.io/docs/quickstart/php/

go安装grpc链接



推荐阅读
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 如何通过swoole加速laravel的问题?
    这篇文章主要介绍了关于如何使用swoole加速laravel,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下再来复习一下吧,导致php慢的各种因素中解析性语言的 ... [详细]
  • HyperledgerComposer环境安装1.安装基本软件包**如果使用Linux安装HyperledgerComposer,请注意以下建议:以 ... [详细]
  • laravel 使用腾讯云 COS5全教程
    laravel使用腾讯云COS5全教程一下载首先第一步肯定是用composer把包安装下来,这里是laravel5.8版本的,所以我用的是cos5 ... [详细]
  • php composer 安装,phpstudy  composer 使用安装
    本人是windows系统phpstudy是最新2018版本以安装laravel框架为例子一如图一,点击phpComposer出现系统指令框,根据指令框路 ... [详细]
  • windows下composer命令无效的解决办法
    开发工具|composerwindows,composer开发工具-composer下面由composer教学栏目给大家介绍windows下composer安装不了或compose ... [详细]
author-avatar
Sunshine丶米粉_499
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有