安装protobuf-2.6.1.tar.gz
安装php protobuf的扩展
下载protobuf-2.6.1.tar.gz
进入protobuf-2.6.1目录进行安装。cd protobuf-2.6.1./configure --prefix=/usr/local/protobufmake && make install
修改环境变量export PATH=/usr/local/protobuf/bin:$PATH安装成功后使用protoc --version可以查看protobuf的版本。
在GitHub上下载protobuf的扩展包,这里的版本不要选择高版本,高版本支持proto3,proto3向下兼容proto2效果不是很好。可以在https://github.com/allegro/php-protobuf/,选择自己想要的版本。
解压下载完的0.10.zip包。unzip 0.10.zip
进入php-protobuf-0.10目录cd php-protobuf-0.10yum install php-devel(安装依赖)phpize./configure --with-php-config=/usr/local/php/bin/php-config 根据PHP的安装目录来设置make && make install
在php.ini里面加一下extension = protobuf.so,再重启php与nginx即可。
创建.proto文件。vim test.proto 添加如下内容:message Person { required string name = 1; required int32 id = 2; optional string email = 3; optional double money = 4;}一简单的message结构。
执行php ./php-protobuf-0.10/protoc-php.php test.proto生成pb_proto_test.php文件。图三是pb_proto_test.php的文件的部分内容,截图不全。
使用protobuf的demo程序,example.php,文件内容如下:setId(1);$foo->setName('zhangshan');$packed = $foo->serializeToString();$foo->reset();try { $foo->parseFromString($packed);} catch (Exception $ex) { die('Upss.. there is a bug in this example');}$foo->dump();?>
php example.php执行文件结果
到此为止,PHP环境下的proto2已经安装好,具体使用可以根据自己的需求来。若对您有帮助,请在下方帮忙点个赞,谢谢!
如果想要支持proto2的,安装php protobuf扩展,不要选择高版本。