ubuntu 安装yar和使用

可能你的安装 会出现一些依赖  一般可能是  缺少 m4   autoconf

鸟哥博客:http://www.laruence.com/2012/09/15/2779.html

安装yar 先安装msgpack

https://github.com/msgpack/msgpack-php

 whichis phpize

比如我的在:/usr/local/php/bin/phpize

一般php-config也在这里

我的msgpack 位置在 /home/jshawcx/msgpack-php-master

安装yar

https://github.com/laruence/yar

我的yar位置在 /home/jshawcx/yar-1.2.4

 cd /xxxx/xxx/msgpack-php-master

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

cd /xxx/xxx/yar-1.2.4

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

extension=msgpack.so

extension=yar.so

重启php-fpm 和nginx或apache

使用 :

http://php.net/manual/zh/book.yar.php

假如我的ip是 192.168.1.104,我的服务器配置 php文件在 /var/www/yaf

我的server php 就放在 这里比如是api.php, 我的项目入口 index.php 也在这里

 <?php class API{ public function add($a,$b){         return $this->_add($a,$b);     } public function sub($a, $b) {         return $a - $b;     } public function mul($a, $b) {         return $a * $b;     } protected function _add($a,$b){         return $a+$b;     }  } $server = new Yar_server(new API()); $server->handle(); ?>

我的client index.php

$client = new yar_client("http://192.168.1.104/api.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));function callback($res,$callinfo){if ($callinfo == NULL) {
        echo "现在, 所有的请求都发出去了, 还没有任何请求返回\n";
     } else {
              echo "这是一个远程调用的返回, 调用的服务名是"$callinfo["method"], 
                      ". 调用的sequence是 " $callinfo["sequence"] , "\n";
        var_dump($retval);
     }
} Yar_concurrent_client::call("http://192.168.1.104/api.php","add",array(1,2),"callback"); Yar_concurrent_client::call("http://192.168.1.104/api.php","sub",array(2,1),"callback"); Yar_concurrent_client::call("http://192.168.1.104/api.php",'mul',array(2,2),'callback');
Yar_concurrent_client::loop();

 

转载于:https://www.cnblogs.com/Sven-w/p/4278145.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gartner:2019年十大数据与分析技术趋势

来源&#xff1a;网络大数据近日&#xff0c;全球领先的信息技术研究和顾问公司Gartner指出&#xff0c;增强型分析(augmented analytics)、持续型智能(continuous intelligence)与可解释型人工智能(explainable AI)是数据与分析(data and analytics)技术领域内的主要趋势之一&…

UG/Open API基础知识-语法1

UG/Open API语法-数据类型数据类型struct-声明结构体变量union-声明联合数据类型enum-声明枚举类型枚举与#define宏的区别typedef-用于给数据类型取别名(当然还有其他作用)数据类型 UG/Open API编程接口是C语言的语法格式&#xff0c;因而&#xff0c;它支持C语言的标准数据类…

Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步

目录 1, 环境2, Redis简介3, Gearman简介4, MySQL - Redis配合使用方案4, 软件安装5, MySQL UDF Trigger同步数据到Gearman6, 参考资料1, 环境 CentOS, MySQL, Redis, Nodejs 2, Redis简介 Redis是一个开源的K-V内存数据库&#xff0c;它的key可以是string/set/hash/list/...&…

python函数实现求非负实数平方根,在shell里调用

编写python函数实现求非负实数平方根&#xff0c;在shell里调用算法牛顿迭代法描述如下函数代码调用函数算法 牛顿迭代法 利用切线逼近曲线&#xff0c;求曲线零点&#xff0c;对于曲线 yf(x)y f(x)yf(x),采用迭代的方法求其零点&#xff0c;在点&#xff08;xn,f(xn)&#…

5G风起,四大IoT迎风爆发!智能家居与电表高速增长

来源&#xff1a;智东西摘要&#xff1a;深度剖析智能家居、智能城市、车联网、网联无人机四大领域新机遇。2018年&#xff0c;我国物联网&#xff08;IoT&#xff09;连接数从2017年的15.4亿飙升至30.63亿&#xff0c;几近增长了100%&#xff0c;增速喜人。而在这组数据背后&a…

机器学习基石笔记5——为什么机器可以学习(1)

转载请注明出处&#xff1a;http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时…

PPT|工业互联网关键技术专利态势

来源&#xff1a;中国信通院CAICT摘要&#xff1a;《工业互联网关键技术专利态势分析&#xff08;2019&#xff09;》对工业互联网的三个重要体系进行深入知识产权分析。以下PPT资料是工业互联网产业联盟和中国信通院团队对《工业互联网关键技术专利态势分析&#xff08;2019&a…

由二分查找算法学习算法的时间复杂度

文章目录二分查找数据算法函数代码调用函数大OOO表示法表示算法运行速度一些常见的大 OOO 运行时间启示&#xff1a;二分查找 二分查找是一种算法&#xff0c;其输入是一个有序的元素列表和要查找的元素。如果要查找的元素包含在列表中&#xff0c;二分查找返回其位置&#xf…

生命简史——跨越地球40亿年

来源&#xff1a;新原理研究所摘要&#xff1a;你一定也曾好奇过&#xff0c;地球上的生命究竟是如何起源和演化的&#xff1f;它又是如何从简单的原核细胞不断地演化成复杂的多细胞&#xff1f;如此多元化的物种是如何进化而成的&#xff1f;每一次变化都历经了怎样的挑战与压…

图论解决复杂路口红绿灯安排,python语言实现

文章目录问题描述说明性描述操作性描述图着色问题图着色算法算法精化和python描述算法细节处理&#xff1a;python实现讨论问题描述 说明性描述 说明性描述说明了需要解决的问题是什么&#xff0c;针对什么样的问题&#xff0c;期望什么样的解 这是一个5条路的交叉口&#x…

从算法到硬件,一文读懂2019年 AI如何演进

来源&#xff1a;图灵TOPIA翻译&#xff1a;黄姗&#xff0c;杨鹏岳在刚刚过去的2018年&#xff0c;人工智能领域的大事件、新发现和新进展层出不穷。BERT重磅发布&#xff0c;刷新了很多NLP的任务的最好性能&#xff1b;GAN相关研究论文持续增长&#xff0c;生成的照片达到了以…

apache2.2 虚拟主机配置

一、改动httpd.conf 打开appserv的安装文件夹&#xff0c;找到httpd.conf文件&#xff0c;分别去掉以下两行文字前面的#号。 #LoadModule vhost_alias_module modules/mod_vhost_alias.so去掉#意思是启用apache的虚拟主机功能。 #Include conf/extra/httpd-vhosts.conf去掉这…

Python Cookbook 3rd Edition Documentation

Python Cookbook 3rd Edition Documentation 文章目录第一章&#xff1a;数据结构和算法1.1 解压序列赋值给多个变量问题解决方案讨论1.2 解压可迭代对象赋值给多个变量问题解决方案讨论第一章&#xff1a;数据结构和算法 Python 提供了大量的内置数据结构&#xff0c;包括列表…

《阿丽塔》脑机接口正从科幻走向现实

来源&#xff1a;zhongcap摘要&#xff1a;《流浪地球》和《阿丽塔》前后脚上映&#xff0c;难免不让人比较一番。科幻片的魅力&#xff0c;在于它试验和想象未来的可能性。昨天晚上小编去看了卡梅隆的新作《阿丽塔&#xff1a;战斗天使》。《流浪地球》和《阿丽塔》前后脚上映…

2015年2月12日——不懂点

CNBLOG项目不懂知识点&#xff1a;1. local:[...]的写法 这样声明可使用。 1    xmlns:local"using:CNBlogs" 2 xmlns:ControlHelper"using:CNBlogs.ControlHelper" 2. 书写格式上 - 把所有的繁杂的 style template 等等都放到了具体类似于 .css …

全球首个AI女主播上岗了!太惊艳了!

来源&#xff1a;水木然摘要&#xff1a;前不久&#xff0c;全球首个AI女主播诞生的消息走红网络&#xff01;刚刚&#xff0c;这位AI女主播今天正式上岗了&#xff01;是不是非常惊艳&#xff1f;如果不是专门解释&#xff0c;她极有可能被为是真人&#xff01;这位全球首个AI…

有原创保护能力的公众帐号可申请页面模版功能和图文消息正文插入历史群发链接...

之前微信公众平台仅针对开通了微信支付的公众号支持插入图文消息链接&#xff0c;现在微信团队对有原创保护能力的公众帐号开放页面模版功能、开放图文消息正文插入历史图文链接。&#xff08;怎样申请成为有原创保护能力的公众帐号&#xff1f;也许有人会把页面模版和模板消息…

重磅!华为宣布起诉美国政府

来源&#xff1a;网易智能摘要&#xff1a;今天&#xff0c;华为在深圳总部召开发布会&#xff0c;宣布决定起诉美国政府。01指责美国政府窃取华为服务器华为宣布针对美国《2019财年国防授权法》第889条的合宪性向美国联邦法院提起诉讼&#xff0c;请求法院判定这一针对华为的销…

递归和快速排序

文章目录递归问题描述基线条件和递归条件栈调用栈递归调用栈小结快速排序示例1问题描述欧几里得算法使用D&C解决问题的两个步骤&#xff1a;示例2快速排序工作原理代码小结递归 问题描述 假设你在祖母的阁楼中翻箱倒柜&#xff0c;发现了一个上锁的神秘手提箱。祖母告诉你…

Spire.Pdf 的各种操作总结

Spire.Pdf 的各种操作总结简介 试验新产品总是给我带来许多挑战&#xff0c;当然这也是一个引进创新技术的好方法。在这里我要跟大家分享的是使用Spire.Pdf的过程&#xff0c;它是来自E-iceblue公司的轻便PDF程序库。 设计情节我以前经常没事就搞搞PDF。Spire.Pdf是用C# 写的PD…