thrift的安装以及php客户端编写

thrift的安装

install jdk for linux(如果需要集成java,可以不装)

1、去官方网站下载安装包,如果是64位系统,记得选择linux x64,现在是1.6版,
java1.5下载:http://java.sun.com/products/archive/j2se/5.0_22/index.html,安装同1.6
2、下载 xxx.bin的版本,比如:jdk-6u20-linux-x64.bin
3、修改运行权限,chmod a+x jdk-6u20-linux-x64.bin
4、运行jdk-6u20-linux-x64.bin,前面是授权声明,直接按空格跳过
5、在/etc/profile配置java_home,jre_home,classpath,e.g:
 export JAVA_HOME=/usr/local/java/jdk1.5.0_22
 export TOMCAT_HOME=/usr/local/apache-tomcat-5.5.29
 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH  


install ant(如果需要集成java,可以不装)

1、下载最新版的ant
2、tar xzvf apache-ant-1.8.0-bin.tar.gz
3、vim /etc/profile,添加export ANT_HOME=/usr/java/apache-ant-1.8.0,在PATH里添加 $ANT_HOME/bin
4、保存退出,执行 source /etc/profile

install ivy

1、下载apache ivy
2、tar xzvf apache-ivy-2.1.0-bin.tar.gz
3、cp ivy-2.1.0.jar to ANT_HOME/lib
4、goto apache-ivy-2.1.0/src/example/hello-ivy, and run ant

install thrift

安装过程参见http://wiki.apache.org/thrift/ThriftInstallation,但可能不会成功,需要按以下步骤:

1、安装需求
1) g++ 3.3.5+,一般系统缺省就可以
# boost 1.33.1+ (1.34.0 for building all tests),
需要使用yum search boost来查询,执行 yum install boost.x86_64来安装,如果是32位系统,改为yum install boost.i386
2) Runtime libraries for lex and yacc might be needed for the compiler. (flex库),
需要使用yum search flex来查询,执行 yum install flex.x86_64 来安装
2、编译需求
1) GNU build tools: autoconf 2.59+ (2.60+ recommended), automake 1.9+, libtool 1.5.24+
需要卸载autoconf,执行 yum remove autoconf,它会一起卸载automake,libtool 等库,
去http://www.gnu.org/software/autoconf/下载最新的安装文件,安装过程:./configure,make,make install
去http://www.gnu.org/software/automake/下载最新的安装文件,安装过程:./configure,make,make install

安装缺省安装在/usr/local/bin/下,因此需要配置环境变量
vi /etc/profile, 在path里添加/usr/local/bin/
执行source /etc/profile,激活配置

2)pkg-config autoconf macros (pkg.m4) (Use MacPorts for Mac OS X)
3) lex and yacc (developed primarily with flex and bison)

3、下载http://incubator.apache.org/thrift/download/
4、解压缩
5、./bootstrap.sh,哈哈,运气好的话,可以通过,运气不好,会报警告或错误,安装不成功,
解决方法参见http://mail-archives.apache.org/mod_mbox/incubator-thrift-user/200907.mbox/%3C4A673E6F.5020205@facebook.com%3E。
它提供两个方案:upgrade your autoconf to 2.61 or download an
instant release from http://instant.thrift-rpc.org/ and skip bootstrap.sh
第一个方案我没有搞定,于是下载instant版,http://gitweb.thrift-rpc.org/?p=thrift.git;spfx=thrift-instant-r940936;a=snapshot;h=147123e29fb3c6fd4fbbad601c131b0a08d1c8b7;sf=tgz
6、解压
7、./configure
8、./configure CXXFLAGS='-g -O2'
9、make
10、make install



php客户端编写

1、准备thrift php客户端基础类,这个可以从thrift的源码包得到,在 thriftsrc/lib/php/src下,一般有如下目录和文件:ext,protocol,transport目录和thrift.php,autoload.php文件,我们把这些文件和目录copy到一个指定的thrift root目录下,比如 c:/php/thrift/root

2、如果是linux环境,可以考虑使用thrift protocol php extension,编译方法:首先把 上面提到的ext目录下的thrift_protocol目录copy到你的php源码下的ext目录下,注意修改权限,你可以直接修改成777权限,然后开始进入到thrift_protocol目录下开始编译,依次执行如下命令:phpize,./configure --enable-thrift_protocol,make,然后把moudles/thrift_protocol.so copy到你php安装目录下的etc目录,比如php5/etc,然后配置php.ini文件,重新启动apache

3、使用thrift --gen php xxx.thrift编译接口文件,然后把接口文件copy到thrift root 下的packages目录下,比如c:/php/thrift/root/packages

 

4、编写客户端代码,参照thiftsrc//tutorial/php下的phpclient.php,一定注意前面几行的global变量设置

 

$GLOBALS['THRIFT_ROOT'] = '../../lib/php/src';

require_once $GLOBALS['THRIFT_ROOT'].'/Thrift.php';
require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php';
require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php';
require_once $GLOBALS['THRIFT_ROOT'].'/transport/THttpClient.php';
require_once $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php';


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值