ThinkPHP 调用workerman RPC服务超时

sangee

问题描述

一个陪护床管理系统,使用了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;
    }
404 2 0
2个回答

six

total_request都是0,服务端一个请求都没收到。
要么客户端访问的IP端口错了,要么服务端3030端口没开放安全组,用宝塔的宝塔也的开放3030端口

  • sangee 2023-10-09

    没有请求是因为,客户端根本调用不到服务端;
    客户端和服务端在一个服务器里面,不存在安全组的问题。也没有用宝塔

  • nitron 2023-10-09

    那就查客户端代码啊

  • sangee 2023-10-09

    对比了两个服务器的客户端,代码也做了对比,都一致。其中参与对比的服务器,客户端和服务端正常

nitron

total_request都是0,就是没收到请求呗

  • 暂无评论
🔝