您的足迹:首页 > php知识 >centos下 php安装protobuf 扩展以及安装protobuf-2.6.1软件

centos下 php安装protobuf 扩展以及安装protobuf-2.6.1软件

Protocol Buffers是Google定义的一种跨语言、跨平台、可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小,解析效率高。感兴趣的可以访问 https://developers.google.com/protocol-buffers/docs/overview 。Protocol Buffers官方只支持C++, Java, Python, C#, Go,如果想在PHP中使用Protocol Buffers,需要借助于第三方的扩展,安装方法如下。
一、安装php的protobuf扩展,下载资源压缩包 https://github.com/allegro/php-protobuf/(要根据安装的php版本下载对应的扩展包)
1、上传到服务器,解压,进入解压后的目录
[root@test ~]# unzip php-protobuf-master.zip
[root@test ~]# cd php-protobuf-master
[root@test ~]# yum install php-devel(安装依赖)
2、执行phpize
[root@test php-protobuf-master]# /soft/php/bin/phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

3、编译、make安装
[root@test php-protobuf-master]# ./configure  --with-php-config=/soft/php/bin/php-config
[root@test php-protobuf-master]# make
[root@test php-protobuf-master]# make install
Installing shared extensions: /soft/php/lib/php/extensions/no-debug-non-zts-20090626/
安装之后在目录生成扩展文件
[root@test php-protobuf-master]# ll /soft/php/lib/php/extensions/no-debug-non-zts-20090626/
-rwxr-xr-x. 1 root root  130247 3?.  8 11:19 protobuf.so
编辑php.ini文件,添加一行
[root@test php-protobuf-master]# vi /soft/php/lib/php.ini
[memcache]
extension_dir = "/soft/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = redis.so
extension = protobuf.so
保存退出后重启php,之后打开浏览器查看 phpinfo.php 有protobuf 模块,说明安装成功;

二、安装protobuf,rallegro/php-protobuf要求protobuf版本最低为2.6,我下载的2.6.1版本
1.下载protobuf
链接:https://pan.baidu.com/s/1A1BDjimEMes6XdpUbNd0RQ 密码:u98k
或者 wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
2解压安装
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
3.检查是否安装成功
protoc –version
安装成功会出现:
libprotoc 2.6.1
如果有问题,会输出错误内容
最后我安装完成,用上述命令检查版本号时出现如下问题
 protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object file: No such file or directory
解决:export LD_LIBRARY_PATH=/usr/local/lib
如果提示缺少依赖:则下载rpm包,安装依赖包
http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libprotobuf.so.9%28%29%2864bit%29
三、安装composer
cd /path/to/you/../php-protobuf-master (存放php-protobuf-master的文件夹)
curl -s http://getcomposer.org/installer | php
php composer.phar install



相关推荐

网友评论(0)