美文网首页
Protobuf安装与编译

Protobuf安装与编译

作者: 烦热海 | 来源:发表于2022-07-20 16:11 被阅读0次

1.安装protoc

(1) Linux Ubuntu

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.12.0/protobuf-all-3.12.0.tar.gz
tar -zxvf protobuf-all-3.12.0.tar.gz
sudo ./configure
sudo make && sudo make install
protoc --version

异常:
有些依赖没有安装, 大部分有提示:
// 例如:make  =>  No targets specified and no makefile found. Stop.
sudo apt update
sudo apt install gcc 
apt install gcc build-essential
// make install => no permission
sudo make install
// protoc --version  => no such file or directory
重启(子系统的话,需要重启宿主机)
异常2:
error while loading shared libraries: libprotoc.so.25: cannot open shared object file: No such file or directory
执行 export LD_LIBRARY_PATH=/usr/local/lib
把/usr/local/lib 加到环境变量中 LD_LIBRARY_PATH

(2) Windows
下载地址:https://github.com/protocolbuffers/protobuf
下载windows版本,安装exe程序即可,在系统环境变量中加入路径后,所有地方皆可使用protoc 命令

2.安装php-protobuf扩展

下载解压 protobuf
cd ~
wget http://pecl.php.net/get/protobuf-3.12.2.tgz
tar xvf protobuf-3.12.2.tgz
cd protobuf-3.12.2
生成配置并编译安装(编译安装时间较长, 耐心等待)
phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
make && make install
配置PHP扩展, 重启PHP服务, 清理下载文件
echo "extension = protobuf.so" >> /www/server/php/72/etc/php.ini
/etc/init.d/php-fpm-74 reload
php -m|grep -i  protobuf

3.编译文件

# 这是一条执行命令
protoc 
# PHP文件输出目录
--php_out=./php 
# gRPC相关代码输出目录,建议一致。,冒号后面的就是输出目录,前面的命令不可以修改,改了就不会生成stub文件了。
--grpc_out=generate_server:php 
# 这个插件是需要单独安装的
# 安装操作在gRPC文件中,[生成grpc_php_plugin]
--plugin=protoc-gen-grpc=/usr/local/grpc_php_plugin
# proto文件
users.proto

编译出来的文件中,必须包含Stub.php及Client.php,不然可能会有各种各样的问题

相关文章

网友评论

      本文标题:Protobuf安装与编译

      本文链接:https://www.haomeiwen.com/subject/enaeirtx.html