一个陪护床管理系统,使用了thinkphp与workman-json-rpc,10月5日起,thinkphp的接口部分(供小程序使用),调用rpc始终超时。
这期间重启过服务器。
1,数据库mysql正常
2,redis正常
3,thinkphp的后台访问正常。
4,workman-json-rpc启动正常,状态如图:
5,Thinkphp调用服务代码如下
/**
* 用户注册
*/
public function wxlogin()
{
$method = __FUNCTION__;
// 接口请求参数
$request = $this->request->param();
$request['clientip'] = $this->request->ip();
// 参数校验
if(empty($request['code'])) {
$array = format_return_array(400, '参数校验失败');
} else {
// 远程过程调用
try {
$client = RpcClient::instance($this->rpcClass);
//这一行始终无法运行,提示超时
$array = $client->$method($request);
} catch(Exception $e) {
$array = format_return_array(400, '注册发生异常');
}
}
// 结果返回
echo $array;
}
total_request都是0,服务端一个请求都没收到。
要么客户端访问的IP端口错了,要么服务端3030端口没开放安全组,用宝塔的宝塔也的开放3030端口
没有请求是因为,客户端根本调用不到服务端;
客户端和服务端在一个服务器里面,不存在安全组的问题。也没有用宝塔
那就查客户端代码啊
对比了两个服务器的客户端,代码也做了对比,都一致。其中参与对比的服务器,客户端和服务端正常
total_request都是0,就是没收到请求呗