PHP-Protobuf的编译
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP-Protobuf的编译相关的知识,希望对你有一定的参考价值。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前只提供了 C++、Java、Python 三种语言的 API。通过php-protobuf可实现,下面是本人的安装经历。
1.centos环境
centos6.8
2.php环境
php-5.5.30
路径
/usr/local/php-5.5.30
将protobuf和php-protobuf-master安装在/usr/local下。
apache
/usr/local/httpd
3.依赖包安装
yum -y install php-pear php5-dev autoconf automake libtool make gcc gcc-c++
4.安装protobuf
protobuf-2.4.1.tar.gz
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 --with-php-config=/usr/local/php-5.5.30/bin/php-config
make
make install
5.master安装
master.zip
wget https://github.com/allegro/php-protobuf/archive/master.zip
unzip master.zip
cd php-protobuf-master
/usr/local/php/bin/phpize #生成configure
./configure
make
make install
结果显示 /usrb64/php/modules/表示安装成功
ll /usrb64/php/modules/
vi /usr/local/php/etc/php.ini
添加:
extension=/usr/lib64/php/modules/protobuf.so
重启apache service httpd restart
6.执行语句验证结果
在本文件路径下透出test.proto,vitest.proto内容如下:
----------------------------------------------
message PhoneNumber {
required string number = 1;
required int32 type = 2;
}
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
repeated PhoneNumber phone = 4;
optional double money = 5;
}
message AddressBook {
repeated Person person = 1;
}
-------------------------------
protoc --plugin=/usr/local/php/bin/protoc-gen-php --php_out=. -I. tes1t.proto
生成test.php文件即表示成功。
参照连接地址:
http://www.hello1010.com/php-protobuf
http://www.cnblogs.com/brookin/p/4423692.html
http://www.cnblogs.com/taek/p/5470693.html
以上是关于PHP-Protobuf的编译的主要内容,如果未能解决你的问题,请参考以下文章