2012-02-22 9 views
1

現在、PHPクライアントがアクセスして2つの整数を追加するPHPスリフトサーバを作成しようとしています。 Thriftクライアント/サーバの基礎を理解するための基本的な実装ですが、PHPサーバ側の設定方法は完全にはわかりません。これはAmazon EC2 localhost上で行われています。言葉のことを言い訳 - 私はテストの単語のバリエーションを使い果たしました。PHP Thriftサーバの実装に関する問題

これは基本的な倹約IDLである - 私はあなたが設定に取り掛かるかどうかはわかりませんhttp://pastebin.com/CWnernxf

<? 
$GLOBALS['THRIFT_ROOT'] = '/usr/lib/php'; 

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

$GEN_DIR = '/usr/lib/php/gen-php/gaybear/'; 

require_once $GEN_DIR.'/addTest.php'; 
require_once $GEN_DIR.'/gaybear_types.php'; 

class addHandler { 

     public function ping() { 
     } 

     public function add($num1, $num2) { 
       return $num1 + $num2; 
     } 

     public function zip() { 
     } 
} 

$handler = new addHandler(); 
$processor = new addTest($handler); 

$transport = new TBufferedTransport(new TPhpStream(TPhpStream::MODE_R | TPhpStream::MODE_W)); 
$protocol = new TBinaryProtocol($transport, true, true); 

$transport->open(); 
$processor->process($protocol, $protocol); 
$transport->close(); 

?> 

からhttp://pastebin.com/3KGGrDUN

namespace php gaybear 

service addTest { 
void ping(), 
i32 add(1:i32 num1, 2:i32 num2), 
} 

これは、現在、物事のサーバー側のコードです物事のサーバー側。他の言語では、ソケットを定義するのと同じくらいシンプルなようですが、多くのチュートリアルを読むと、PHPは "TPhpStream"を使うようです。

Thrift PHPサーバを作成してPHPクライアントから基本的な手順を呼び出すことができる人はいますか? Thrift PHPサーバーの作成について説明したチュートリアルは私には分かりません。

ありがとうございました。

+0

すべてのエラーメッセージを取得しているか、どのような具体的には動作しませんか? – hakre

+0

この質問をチェックアウトすることもできます:http://stackoverflow.com/questions/8871858/is-it-possible-to-use-apache-thrift-on-a-regular-web-server –

答えて

関連する問題