在windows上使用Thrift生成PHP代码

最近在研究使用Thrift进行RPC调用,发现可以在windows上直接使用thrift.exe生成指定语言的文件(譬如php,java,cpp,perl,csharp,py等)。

一、下载和安装thrift.exe文件

首先下载thrift,地址http://apache.fayea.com/thrift/0.10.0/,将文件保存到指定的目录(譬如D:\thrift),重命名为thrift.exe。然后,修改环境变量,在Path的后面添加“D:\thrift;”,如下图所示:


在命令行输入thrift.exe -version,出现thrift版本信息,即说明安装成功,如下图所示:


二、使用thrift.exe生成php文件

编写thrift文件,以笔者项目为例,thrift文件为authurl.thrift,把authurl.thrift文件复制到D:\thrift目录,在cmd命令行执行thrift -gen php authurl.thrift,在D:\thrift目录就会新生成一个gen-php目录,其中包含两个php文件,将gen-php目录复制到自己的项目,就可以使用了。生成gen-php目录的命令如下图所示:


生成的gen-php目录如下图所示:

来源:网络


智能推荐

Smart SVN-使用Smart SVN 管理项目代码文件(在windows上)

为什么80%的码农都做不了架构师?>>>    一、从服务器上获取(拉取)代码 Project------>Check Out     二、提交代码到服务器 通过上述的操作,在本地指定的目录下,就存在了从服务器上下载下来的代码文件。 提交代码,就相对简单了。 1.右击你要提交的代码,进行相应操作:   2.选中,要操作的文件...

【Git】使用Gitea在Windows上建立本地代码仓库, 局域网访问

Git,GitHub与GitLab Gitea的区别 Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。 GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。对于免费的仓库,用户必须公开自己仓库中的所有源代码,而付费仓库可以上传私密代码。 GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类...

在windows上使用pycharm专业版上传和下载Linux的代码(远程调试)

目录 本文解决的需求: 准备pycharm专业版和空文件夹 配置pycharm的sftp连接用于下载代码 创建SFTP连接 为sftp创建ssh连接 配置mapping 点击ok Options设置自动同步 同步前临时查看和修改Linux代码 开始同步Linux数据 本文解决的需求: 假设现在于Linux机器上已经有个项目叫py3,位置在/home/test/git/py3 现在我们要将它同步到w...

windows上RSA(openssl**生成)**生成和使用

一,下载安装windows平台openssl**生成工具,执行安装目录bin下的"openssl.exe",执行后弹出命令窗口如下 运行 二,生成私钥 输入"genrsa -out rsa_private_key.pem 1024",回车,命令窗口如下,在bin目录下多了一个rsa_private_key.pem文件, 将这个文件通过文本编辑器打开,将看到你...

ffmpeg在windows的php中使用

说明:用来压缩视频格式转换用 1. 下载:http://ffmpeg.org/   bin目录是执行程序,Doc是说明文档 2. 先设置环境变量,设置完了重启一下     3. 打开doc文档查看,参考此处   4. 打开cmd执行     5. linux中运行 由于exec()会等待执...

猜你喜欢

在Linux上使用JNI代码

生成可执行应用程序 链接 参考文章: GCC编译过程与动态链接库和静态链接库 使用C语言调用Java代码 由于协程Demo的需要,笔者需要使用C语言调用之前写过的Java代码库,从网上搜索到的资料,大多数是关于如何以Java代码为主程序,调用本地C语言接口函数,不符合笔者的需求,所以写下该博客,记录以C语言为运行主程序代码,调用Java相关的代码。 下面代码展示如何在C语言中调用Java代码。 C...

在VS2010上使用C#调用非托管C++生成opencv代码的DLL文件

背景       在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用。本篇文章将引导你快速理解这个调用的过程。   步骤 1. 创建一个CSharpInvokeCPP的解决方案:   2. 创建一个C++的动态库项目: ...

redis中的hash扩容渐进式rehash过程

背景: redis字典(hash表)当数据越来越多的时候,就会发生扩容,也就是rehash 对比:java中的hashmap,当数据数量达到阈值的时候(0.75),就会发生rehash,hash表长度变为原来的二倍,将原hash表数据全部重新计算hash地址,重新分配位置,达到rehash目的 redis中的hash表采用的是渐进式hash的方式: 1、redis字典(hash表)底层有...

不同系统下的回车\r和换行\n,及其历史

2019独角兽企业重金招聘Python工程师标准>>>      我们平时按下键盘上的‘回车键’,就能实现回车换行【我们在屏幕上所看到的就是光标移到了下一行的开头位置!!ps:不讨论软件实现的特殊功能,如word里的回车智能缩进】。因此对这个按键更准确说应该叫做‘回车换行键’ 就且将这种将光标移到下行开...

windows操作系统,python环境下django的自动安装

首先,在Windows操作系统下安装python,完成python环境的搭建。(我看有的博客需要配置环境变量,其实不必要,因为我们在安装的时候只要勾选如下图所示即可避免不必要的麻烦) 第二步,使用快捷键windows+R或者点击如下图所示,之后点击运行 在其中输入cmd即可进入dos命令。 第三步,输入以下命令 就会自动安装,等待安装完成即可。 第四步,检测django是否安装成功,如果出现如下图...

问答精选

How to get the sum of rows using a vector and the make the result in a column

I have a dataframe and i want to calculate the sum of variables present in a vector in every row and make the sum in other variable after i want the name of new variable created to be from the name of...

Call a custom class in zend framework

I have a very rough project that done partially in zend framework (not ZF2). The 'application', 'library' and 'public' folders are on the same root. Now i need to create a library 'Anil' in the 'libra...

Hide Some Of The Categories In Magento?

I want to hide some of the categories from magento home page. I have created some categories like New Arrivals, Special Offer Which I would like to show in some different way may be in left panel or r...

Reading an internal file in Android Studio

I am writing to an internal file in Android Studio The code lets me write lines of data split with commas. I am able to then go to another activity and read it all out at once. However I want to be ab...

Rails Acts_as_votable Gem Like/Unlike Buttons with Ajax

I'm new to Ruby On Rails, I used the acts_as_votable gem to create Like and Unlike Buttons to make Users like and unlike Posts but I can't make them change from Like to Unlike (and viceversa) and upda...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答