$dir=dirname(__FILE__); #C:\Users\guangliang\Desktop\ThriftPhpDemo
$GEN_DIR = $dir.'\gen-php';
require_once $dir.'\\Thrift\\ClassLoader\\ThriftClassLoader.php';
require_once $dir.'\\Thrift\\Transport\\TTransport.php';
require_once $dir.'\\Thrift\\Transport\\TSocket.php';
require_once $dir.'\\Thrift\\Transport\\TBufferedTransport.php';
require_once $dir.'\\Thrift\\Protocol\\TProtocol.php';
require_once $dir.'\\Thrift\\Protocol\\TBinaryProtocol.php';
require_once $GEN_DIR.'\\HelloWorldService.php';
require_once $dir.'\\Thrift\\Type\\TType.php';
require_once $dir.'\\Thrift\\Type\\TMessageType.php';
require_once $dir.'\\Thrift\\Transport\\TBufferedTransport.php';
require_once $dir.'\\Thrift\\Factory\\TStringFuncFactory.php';
require_once $dir.'\\Thrift\\Exception\\TException.php';
require_once $dir.'\\Thrift\\StringFunc\\TStringFunc.php';
require_once $dir.'\\Thrift\\StringFunc\\Core.php';
error_reporting(E_ALL);
use Thrift\ClassLoader\ThriftClassLoader;
$loader = new ThriftClassLoader();
$loader->registerNamespace('Thrift', $dir.'Thrift');
$loader->registerDefinition('HelloWorldService', $GEN_DIR);
$loader->register();
$loader = new ThriftClassLoader();
use Thrift\Transport\TSocket;
use Thrift\Transport\THttpClient;
use Thrift\Transport\TBufferedTransport;
use Thrift\Exception\TException;
use Thrift\Protocol\TBinaryProtocol;
try{
$socket = new TSocket('localhost',8090);
$ransport = new TBufferedTransport($socket, 1024, 1024);
$protocol = new TBinaryProtocol($ransport);
$client = new HelloWorldServiceClient($protocol);
$ransport->open();
$result=$client->sayHello("qingjian");
echo $result;
}catch(Exception $e) {
print "Exception: ".$e->getMessage();
}
?>
测试