Is it possible to use Apache Thrift on a regular web server?
I already have a web server that I pay for, and I want to expose some services on it using Thrift and PHP.
My question is: can I run a Thrift server using normal PHP that’s hosted on the default port (the same way web pages are hosted) instead of having a separate PHP application that runs on some funky obscure port. This way I wouldn’t have to change the server configuration (which is something I’m not able to do even if I wanted to).
EDIT: maybe I should clarify a bit more. Once I’ve defined my service using a .thrift file, is it possible to:
- Run the thrift code generator
- Take the generated code and put it on my webserver
- Create an index.php which says (in pseudocode) “create a new instance of the service, and handle incoming requests”?
Okay, well I have figured out the answer on my own!
If you use a
TPhpStream on the server side, you are able to serve requests coming in as regular http requests.
Many thanks to Rob Wilkerson https://github.com/robwilkerson/Thrift-Client-Server-Example–PHP-.
I also blogged about how to implement a simple example with PHP and Python at http://willwarren.com/2012/01/24/creating-a-public-api-with-apache-thrift/
Answered By – Will Warren