PHP中使用Protobuf简介

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

内容简介: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简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Java与模式

Java与模式

阎宏 编著 / 电子工业出版社 / 2002-10 / 88.00元

《Java与模式》是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。全书分为55章,第一个章节讲解一个编编程模式,说明此模式的用意、结构,以及这一模式适合于什么样的情况等。每一个章节都附有多个例子和练习题,研习这些例子、完成这些练习题可以帮助读者更好地理解所讲的内容。大多数的章节都是相对独立的,读者可以从任何一章......一起来看看 《Java与模式》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具