1

我已经下载了 thrift .tar 文件并获取了 lib/php/src 文件夹,并将其重命名为 thrift 。然后在我的 PHP 文件中编写 PHP Thrift Client ,我有以下代码:

<?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 客户端是否需要某种编译器?

请告诉任何你知道的,谢谢你给我一些时间来回答我的问题。

4

1 回答 1

4

您需要使用 thrift 编译器编译 MyService.thrift IDL 文件以获得 MyService.php 如下所示:

thrift --gen php MyService.thrift

也请看看这个教程

于 2011-11-28T09:30:02.307 回答