prc框架安装msgpack,yar扩展
来源:互联网 发布:好用 陶瓷 餐具 知乎 编辑:程序博客网 时间:2024/06/05 18:20
http://pecl.php.net/package/msgpack
http://pecl.php.net/package/yar
1.安装msgpack,msgpack是一个高效的二进制打包协议.prc的客户端和服务器都需要用到此扩展.
(1).sudo yum install php-pecl-msgpack-devel.x86_64
(2).修改php.ini,添加 extension=msgpack.so
(3).重启 sudo service php-fpm restart
2.安装yar扩展,yar是鸟哥(laruence)开发的一个并行的RPC框架
(1). sudo pecl install yar
(2).修改php.ini,添加 extension=yar.so
(3).重启 sudo service php-fpm restart
出错:
configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
解决:yum -y install curl-devel
安装成功之后就可以进行测试了。
服务端的代码如下(testyars.php):
<?phpclass Operator {/** * Add two operands * @param interge * @return interge */public function add($a, $b) {return $this->_add($a, $b);}/** * Sub */public function sub($a, $b) {return $a - $b;}/** * Mul */public function mul($a, $b) {return $a * $b;}/** * Protected methods will not be exposed * @param interge * @return interge */public function _add($a, $b) {return $a + $b;}}error_reporting(E_ALL);ini_set('display_errors', 'on');$server = new Yar_Server(new Operator());$server->handle();?>
客户端的代码如下:
(1).同步操作(testyarc.php)
<?phperror_reporting(E_ALL);ini_set('display_errors', 'on');$client = new yar_client("http://www.test.com/testyars.php");/* call directly */var_dump($client->add(1, 2));/* call via call */var_dump($client->call("add", array(3, 2)));/* __add can not be called */var_dump($client->_add(1, 2));?>
(2)。异步操作(testyarc2.php)
<?phperror_reporting(E_ALL);ini_set('display_errors', 'on');function callback($ret, $callinfo) { echo $callinfo['method'] , " result: ", $ret , "\n"; return 0;}/* 注册一个异步调用 */Yar_Concurrent_Client::call("http://127.0.0.1:8080/testyars.php", "add", array(1, 2), "callback");Yar_Concurrent_Client::call("http://127.0.0.1:8080/testyars.php", "sub", array(2, 1), "callback");Yar_Concurrent_Client::call("http://127.0.0.1:8080/testyars.php", "mul", array(2, 2), "callback");/* 发送所有注册的调用, 等待返回, 返回后Yar会调用callback回掉函数 */Yar_Concurrent_Client::loop();?>
注:异步的时候,请求的url必须是ip+端口号.
参考文章
http://blog.csdn.net/diandianxiyu_geek/article/details/17119341
http://www.360doc.com/content/14/0528/22/11482448_381859903.shtml
http://blog.sina.com.cn/s/blog_6bb942f70101hven.html
http://blog.csdn.net/diandianxiyu_geek/article/details/17145857
- prc框架安装msgpack,yar扩展
- ubuntu 上给PHP安装扩展 Msgpack 和 Yar
- 安装PHP扩展yar
- Ubuntu 下安装 Yar 扩展遇到的问题以及解决方案
- centos6.4 php5.4.13安装扩展yar-rpc笔记
- 编译安装PHP7及yaf,yar,redis等扩展
- 248 php7,ubuntu16.04扩展安装 redis,memcached,yar,rdkafka
- 安装msgpack
- yar安装使用
- php yar扩展json错误
- 关于PRC框架
- YAR 并行RPC框架研究
- PHP的RPC框架:Yar
- ubuntn16.04 安装msgpack
- hadoop中的PRC框架使用
- 分布式PRC服务框架Dubbo
- prc
- msgpack
- ASP.NET的URL解密
- 数据归一化
- Analysing the ASM code of a simple sample of C programming language at Linux Platform by GCC and GDB
- itext操作word示例
- 使用Qt开发iOS应用有何优劣?
- prc框架安装msgpack,yar扩展
- 【转】POJ题目分类
- ios开发之指纹识别
- 在 iOS 应用中直接跳转到 AppStore 的方法
- 关于数据类型的注意点
- oracle exp出现"ORA-00302:必须说明SET_NO_OUTLINES 组件" 解决方法
- USACO--1.1Greedy Gift Givers+模拟
- MyEclipse数据库资源管理器首选项
- 搜狗浏览器收藏夹同步 你可不可以不要这么任性!!!