Home > Backend Development > PHP Tutorial > Yar 报错 Yar_Client_Protocol_Exception

Yar 报错 Yar_Client_Protocol_Exception

WBOY
Release: 2016-06-06 20:27:31
Original
2550 people have browsed it

根据鸟哥博客上Yar的介绍,书写示例时,报Yar_Client_Protocol_Exception错误,Google和Baidu都没有查到解决办法,各位大侠有没有知道的呢?

yarServer.php

<code>class API {
    public function hello ($param = '')
    {
        return $param;
    }
    protected function hello2 ()
    {
    }
}
$service = new Yar_Server(new API());
$service->handle();</code>
Copy after login
Copy after login

yarClient.php

<code><?php $client = new Yar_Client('http://yar.demo.com/yarServer.php');
//Set timeout to 1s
$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);
//Set packager to JSON
$client->SetOpt(YAR_OPT_PACKAGER, "json");
$result = $client->hello('zhangsan');</code>
Copy after login
Copy after login

错误详情

<code>Warning: [Debug Yar_Client 15:48:0.982003]: 2204859703: call api 'hello' at (r)'http://yar.demo.com/yarServer.php' with '1' parameters in /home/liuruntao/YarRPC-Demo/public/yarClient.php on line 10
Warning: [Debug Yar_Client 15:48:0.982082]: 2204859703: pack request by 'JSON', result len '53', content: '{"i":2204859703,"m":"hello","p":' in /home/liuruntao/YarRPC-Demo/public/yarClient.php on line 10
Fatal error: Uncaught exception 'Yar_Client_Protocol_Exception' with message 'malformed response header '
Warning: [Debug Yar_Server 15:4'' in /home/liuruntao/YarRPC-Demo/public/yarClient.php:10
Stack trace:
#0 /home/liuruntao/YarRPC-Demo/public/yarClient.php(10): Yar_Client->__call('hello', Array)
#1 /home/liuruntao/YarRPC-Demo/public/yarClient.php(10): Yar_Client->hello('zhangsan')
#2 {main}
  thrown in /home/liuruntao/YarRPC-Demo/public/yarClient.php on line 10</code>
Copy after login
Copy after login

回复内容:

根据鸟哥博客上Yar的介绍,书写示例时,报Yar_Client_Protocol_Exception错误,Google和Baidu都没有查到解决办法,各位大侠有没有知道的呢?

yarServer.php

<code>class API {
    public function hello ($param = '')
    {
        return $param;
    }
    protected function hello2 ()
    {
    }
}
$service = new Yar_Server(new API());
$service->handle();</code>
Copy after login
Copy after login

yarClient.php

<code><?php $client = new Yar_Client('http://yar.demo.com/yarServer.php');
//Set timeout to 1s
$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);
//Set packager to JSON
$client->SetOpt(YAR_OPT_PACKAGER, "json");
$result = $client->hello('zhangsan');</code>
Copy after login
Copy after login

错误详情

<code>Warning: [Debug Yar_Client 15:48:0.982003]: 2204859703: call api 'hello' at (r)'http://yar.demo.com/yarServer.php' with '1' parameters in /home/liuruntao/YarRPC-Demo/public/yarClient.php on line 10
Warning: [Debug Yar_Client 15:48:0.982082]: 2204859703: pack request by 'JSON', result len '53', content: '{"i":2204859703,"m":"hello","p":' in /home/liuruntao/YarRPC-Demo/public/yarClient.php on line 10
Fatal error: Uncaught exception 'Yar_Client_Protocol_Exception' with message 'malformed response header '
Warning: [Debug Yar_Server 15:4'' in /home/liuruntao/YarRPC-Demo/public/yarClient.php:10
Stack trace:
#0 /home/liuruntao/YarRPC-Demo/public/yarClient.php(10): Yar_Client->__call('hello', Array)
#1 /home/liuruntao/YarRPC-Demo/public/yarClient.php(10): Yar_Client->hello('zhangsan')
#2 {main}
  thrown in /home/liuruntao/YarRPC-Demo/public/yarClient.php on line 10</code>
Copy after login
Copy after login

报错的原因找到了,只要把yar的debug功能关掉就可以!

<code>vim php.ini

yar.debug=0 ;或者注释掉</code>
Copy after login

这样是可以解决上述问题,楼主是否知道为啥会报这个warning,为啥呢?

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template