Codeigniter XMLRPC示例抛出错误

时间:2018-01-26 15:28:41

标签: php codeigniter xml-rpc

我正在尝试在我的服务器上设置XMLRPC服务器和客户端。所以我抓住了codeigniter文档中的示例代码,创建了所需的控制器。而它不起作用,所以它阻止我死在我的轨道上。我得到的错误是在Xmlrpc_client控制器内部。见下文。

Severity: Warning
Message: reset() expects parameter 1 to be array, null given
Filename: libraries/Xmlrpc.php
Line Number: 1889

此行if ( ! $this->xmlrpc->send_request())

会触发此错误

这是我的代码,从文档中剪切并粘贴......

客户端

class Xmlrpc_client extends CI_Controller {

    public function index()
    {
            $this->load->helper('url');
            $server_url = site_url('xmlrpc_server');

            $this->load->library('xmlrpc');

            $this->xmlrpc->server($server_url, 80);
            $this->xmlrpc->method('Greetings');

            $request = array('How is it going?');
            $this->xmlrpc->request($request);

            if ( ! $this->xmlrpc->send_request())
            {
                    echo $this->xmlrpc->display_error();
            }
            else
            {
                    echo '<pre>';
                    print_r($this->xmlrpc->display_response());
                    echo '</pre>';
            }
    }
}

和服务器......

class Xmlrpc_server extends CI_Controller {

    public function index()
    {
            $this->load->library('xmlrpc');
            $this->load->library('xmlrpcs');

            $config['functions']['Greetings'] = array('function' => 'Xmlrpc_server.process');

            $this->xmlrpcs->initialize($config);
            $this->xmlrpcs->serve();
    }


    public function process($request)
    {
            $parameters = $request->output_parameters();

            $response = array(
                    array(
                            'you_said'  => $parameters[0],
                            'i_respond' => 'Not bad at all.'
                    ),
                    'struct'
            );

            return $this->xmlrpc->send_response($response);
    }
}

任何帮助表示赞赏。提前致谢

1 个答案:

答案 0 :(得分:0)

事实证明我试图从文档中为XMLRPC运行的代码显然是针对当前版本或CI,并且我安装了一个不兼容的旧版本。所以我只是升级了CI,它运作得很好。