protobuf php 扩展安装

文章目录

protobuf php 扩展

wget http://pecl.php.net/get/protobuf-3.7.1.tgz
tar -vxf protobuf-3.7.1.tgz
/home/yx/server/php56/bin/phpize
./configure –with-php-config=/home/yx/server/php56/bin/php-config
make
make install

安装 protoc

https://www.jianshu.com/p/ce098058edf0

1
2
3
4
5
wget https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-php-3.5.1.tar.gz
sudo tar -vxf protobuf-php-3.5.1.tar.gz
sudo ./configure --prefix=/opt/soft/protobuf
sudo make
sudo make install

vi person.proto

1
2
3
4
5
6
7
syntax="proto3";
package test;
message Person{
string name=1;//姓名
int32 age=2;//年龄
bool sex=3;//性别
}

/opt/soft/protobuf/bin/protoc –php_out=./ person.proto

生成后将在当前目录产生如下文件:
GPBMetadata/Person.php
Test/Person.php

使用

1
2
3
4
5
6
7
8
9
10
<?php

include 'GPBMetadata/Person.php';
include 'Test/Person.php';

$person = new TestPerson();
$person->setName("lailaiji");
$person->setAge("28");
$person->setSex(true);
$data = $person->serializeToString();