我下载了thrift .tar文件,取了lib/php/src文件夹,并将其重命名为thrift。然后在我的PHP文件中编写PHP Thrift客户端,我有以下代码:
<?php
$GLOBALS['THRIFT_ROOT'] = 'thrift';
require_once 'thrift/Thrift.php';
require_once 'thrift/transport/TTransport.php';
require_once 'thrift/transport/TSocket.php';
require_once 'thrift/protocol/TBinaryProtocol.php';
require_once 'thrift/transport/TFramedTransport.php';
require_once 'thrift/transport/TBufferedTransport.php';
require_once 'thrift/packages/MyService/MyService.php';
require_once 'thrift/packages/MyService/MyService_types.php';
$transport = new TSocket('localhost',1100);
$transport->open();
$protocol = new TBinaryProtocol($transport);
$client= new MyServiceClient($protocol, $protocol);
$result = $client->operation('param1', 'param2');
Print 'result = ' . $result;
$transport->close();当我试图执行它的时候,它给出了一个错误,我没有MyService文件。这是正确的,我没有。我想知道从哪里可以得到这个文件,或者从哪里我可以知道如何编写这样的服务。我问这个是因为我不太熟悉Apache Thrift。请告诉我是否做错了什么,或者是否有人知道我可以如何编写服务文件,以及其中将包含什么内容?仅仅编写PHP Thrift客户端就需要某种编译器吗?
请告诉我你所知道的一切,谢谢你花时间回答我的问题。
发布于 2011-11-28 17:30:02
您需要使用thrift编译器编译MyService.thrift IDL文件以获得如下所示的MyService.php:
thrift --gen php MyService.thrift
也请看一下this tutorial
https://stackoverflow.com/questions/8263595
复制相似问题