PHP的RPC调用基本案例

开始使用下载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=";



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值