PHP中使用Protobuf简介

栏目: PHP · 发布时间: 7年前

内容简介:PHP中使用Protobuf简介

protobuf简介

Protocol Buffers 是一种轻便高效的结构化数据存储格式,可用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前只提供了 C++、 JavaPython 三种语言的 API。

官方不支持PHP,不用担心,高手在民间。上Github搜索一下就有了。

安装protobuf

wget http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.bz2 tar -jxvf protobuf-2.4.1.tar.bz2  cd protobuf-2.4.1/ ./configure make make install

查看protobuf版本

protoc --version

编译 PHP 的protobuf扩展

在Google上搜索 protobuf PHP 可在github上找到两个与之相关的开源项目,它们是:

https://github.com/allegro/PHP-protobuf

https://github.com/drslump/Protobuf-PHP

在这里主要介绍allegro的编译方法(别问为什么,因为drslump的编译方法在我的电脑上不成功 -_- ||)。

下面介绍centos(CentOSLinux release 7.0.1406 (Core))环境中下载,编译:

wget https://github.com/allegro/php-protobuf/archive/master.zip unzip master.zip cd php-protobuf-master

安装依赖

yum install php-devel

假如PHPize不在默认目录,可以使用 which PHPize 查看,然后写全路径去执行PHPize,我这里是默认在 /usr/bin 目录,可以直接执行,执行之后可以看到以下输出

[root@VM_18_199_centos php-protobuf-master]# phpize Configuring for: PHP Api Version:         20100412 Zend Module Api No:      20100525 Zend Extension Api No:   220100525

PHP-config的目录也使用 which PHP-config 这个命令去查看路径,这一步需要安装gcc

yum -y install gcc-c++

安装完gcc之后则开始正式安装pb

./configure make make install

最后会看到类似这样的安装提示,则说明安装成功。

[root@VM_18_199_centos php-protobuf-master]# make install Installing shared extensions:     /usr/lib64/php/modules/

现已成功把pb编译至/usr/lib64/PHP/modules/protobuf.so

开启PHP的pb扩展

找到PHP.in,加入这行代码:

extension=/usr/lib64/php/modules/protobuf.so

重启nginx

/usr/sbin/nginx -s reload  //重启php-fpm kill -SIGUSR2 `cat /run/php-fpm/php-fpm.pid`

假如是Apache,则重启Apache

protoc --version

0

编译proto文件

新建一个简单的proto文件:

protoc --version

1

输入以下内容:

protoc --version

2

编译。注意,这里需要引用到protoc-PHP.PHP这个文件,注意路径。

protoc --version

3

编译成功后会在当前目录生成一个pb_proto_test.PHP文件,内容如下:

protoc --version

4

这里会继承 ProtobufMessage 类,它是在 protobuf.so 中自动加载的。

写一个测试类来测试一下:

protoc --version

5

运行

protoc --version

6

可以看到输出:

protoc --version

7


以上所述就是小编给大家介绍的《PHP中使用Protobuf简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

阿里铁军

阿里铁军

宋金波、韩福东 / 中信出版集团 / 2017-7 / 58

【编辑推荐】 互联网地推天团,马云口中的中国电商“黄埔军校”,是如何铸造的? 超强执行力来自何处,价值观如何创造万亿价值?阿里铁军的团队建设、销售技巧、文化与价值观的创建与传播,深度剖析与分享。 阿里铁军,不仅走出过阿里巴巴集团的诸多高管,彭蕾、戴姗、蒋芳、孙彤宇、蔡崇信……,还走出过互联网江湖中的众多显赫人物,国内O2O战场,一度成为“铁军内战”:程维(滴滴打车创始人兼CEO)......一起来看看 《阿里铁军》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具