开始使用下载phprpc
https://sourceforge.net/projects/php-rpc/files/OldFiles/phprpc_3.0.1_php.zip/download
先来个简单的例子,phprpc也是分为服务器端和客户端的。所以文件夹中对应的就是phprpc_server.php 和 phprpc_client.php
我们参考官网的几个例子,练习下:
服务端service.php
<?php
include ("phprpc_3.0.1_php/php/phprpc_server.php");
function HelloWorld() {
return 'Hello World!';
}
function Test(){
$data =['name'=>'xiaoming','age'=>'123'];
return json_encode($data);
}
$server = new PHPRPC_Server();
$server->add('HelloWorld');
$server->add('Test');
$server->start();
客户端 client.php,
demo1.php
<?php
include ("phprpc_3.0.1_php/php/phprpc_client.php");
$client = new PHPRPC_Client('http://localhost/Demo/rpc/service.php');
echo $client->Test();
?>
demo2.php
<?php
include ("phprpc_3.0.1_php/php/phprpc_client.php");
$client = new PHPRPC_Client('http://localhost/Demo/rpc/service.php');
echo $client->HelloWorld();
?>
运行报错解决:
1、先把 phprpc_server.php的413行的initSession()改成static function
static function initSession() {
****
}
2、把compat.php 的第 71行的 gzdecode()函数,php5.4已经实现了这个函数了。这样函数就被重写了,就报错了,所以加个判断:
if (!function_exists('gzdecode')) {
//将gzdecode函数包括进来
}
再运行下server.php 。ok 了。不报错了。输出:
phprpc_functions="YToxOntpOjA7czo5OiJoZWxsb3dvcmQiO30=";