首页 > 后端开发 > php教程 > Yar 报错 Yar_Client_Protocol_Exception

Yar 报错 Yar_Client_Protocol_Exception

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-06 20:27:31
原创
2571 人浏览过

根据鸟哥博客上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>
登录后复制
登录后复制

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>
登录后复制
登录后复制

错误详情

<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>
登录后复制
登录后复制

回复内容:

根据鸟哥博客上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>
登录后复制
登录后复制

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>
登录后复制
登录后复制

错误详情

<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>
登录后复制
登录后复制

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

<code>vim php.ini

yar.debug=0 ;或者注释掉</code>
登录后复制

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

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
怎么学好php
来自于 1970-01-01 08:00:00
0
0
0
PHP扩展intl
来自于 1970-01-01 08:00:00
0
0
0
php数据获取?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板