1、protobuf安装:
wget https://github.com/protocolbuffers/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
tar zxvf protobuf-2.6.1.tar.gz
cd protobuf-2.6.1
./configure --prefix=/usr/local/protobuf
make && make install
#export PATH=/usr/local/protobuf/bin:$PATH //按默认的可不执行
//验证是否安装ok,显示相应版本号
protoc --version
2、php的protobuf扩展安装:
wget https://github.com/allegro/php-protobuf/archive/master.zip
unzip master.zip
cd php-protobuf-master
#yum install php-devel(安装依赖--可跳过)
phpize
//自己的php配置文件目录
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
//将在/your folder/php-protobuf-master/module/目录下生成protobuf.so文件
//然后在php.ini里面加一下extension = "protobuf.so",再重启php与nginx即可。
3、composer--为了后面可以执行.proto文件自动生成代码
//进入到php-protobuf-master目录
cd /your folder/php-protobuf-master
curl -s http://getcomposer.org/installer | php
php composer.phar install
--------protobuf使用--------
编译生成代码(一个message结构会生成一个包装类)
php ./php-protobuf-master/protoc-gen-php.php test_km.proto
//将会生成代码目录结构:/xxx/xxx/*
将生成的代码完整拷贝到自己的项目中
代码中类会继承ProtobufMessage类,它是protobuf.so中自动加载
这样就可以在项目里使用protobuf进行序列化/反序列化操作了
注:如果压缩包无法用命令下载,可以在迅雷中或者浏览器等地方手动点击链接下载
文章来源 : www.liangzl.com/get-article…