
protobuf
- github 地址<a href=”https://github.com/google/protobuf/releases" /a>
-
编译安装
1
2
3
4
5
6
7
8
9
10tar -xf protobuf-all-3.5.0.tar.gz
cd protobuf-3.5.0
./autogen.sh
./configure
make
make check
make install
### 验证是否安装成功
> protoc --version -
脚本执行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41protoc --php_out=php目录 --proto_path=proto目录 proto文件
---------
or 脚本
#!/usr/bin/env bash
#################################
#
# 根据 protobuf 协议生成 php 代码
#
##################################
proto_bin=$(which "protoc")
if [ -z $proto_bin ]; then
echo 'protoc不在你的环境变量中, 请先安装'
exit
fi
root_dir=$(cd "$(dirname "$0")"; cd ../../..; pwd)
home_dir=$(cd "$(dirname "$0")"; pwd)
src_dir=$home_dir/php-src
protos_dir=$home_dir/protos
if [ ! -f $proto_bin ]; then
echo -e "n 33[0;31mPlease install protobuf to -> $proto_bin 33[39;49;0mn"
exit 0
fi
if [ ! -d $src_dir ]; then
mkdir -p $src_dir
fi
rm -rf $src_dir/*
for file in $protos_dir/*.proto; do
echo -en "from: $file"
$proto_bin --php_out=$src_dir --proto_path=$protos_dir $file
echo -en "t 33[0;32m[DONE] 33[39;49;0mn"
done
echo -e "n 33[0;32mGenerate php code done! 33[39;49;0mn"




近期评论