您现在的位置是:首页 > PHP框架交流PHP框架交流
php yar扩展实现rpc调用
上善若水2022-03-09 18:35:57【PHP框架交流】 7634人已围观
简介php使用yar使用扩展进行rpc调用,以最大程度实现程序的解耦,类似java微服务互相调用.是一个不错的方式,简单使用rpc使用.yar使用文档:https://www.php.net/manual
php使用yar使用扩展进行rpc调用,以最大程度实现程序的解耦,类似java微服务互相调用.是一个不错的方式,简单使用rpc使用.
yar使用文档:https://www.php.net/manual/zh/yar.installation.php
1.第一步安装yar扩展
这一步我就已经踩坑,由于我的用的是phpstudy安装的yar扩展,直接下载好扩展后,拖到ext目录,测试死活安装不成功,把php7.2版本卸载后再安装依旧无法安装.再确认后认为无误后,使用phpstudy的php7.3很顺利的安装上扩展.可能就是phpstudy的这个7.2版本有些许问题吧. 提示无法定位程序输入点SSL_CTX_set_post_handshake_auth 于动态链接库D:\phpstudy_pro\Extensions\php\php7.2.9nts\ext\php_yar.dll 上.
上详细步骤.当前环境为php7.3 由于yar依赖于msgpack 我们需要同时安装这个两个扩展.
先下载 https://pecl.php.net/package/msgpack/2.1.2/windows 的 7.3 Non Thread Safe (NTS) x64
再下载 https://pecl.php.net/package/yar/2.1.2/windows 的 7.3 Non Thread Safe (NTS) x64
我的phpstudy下载安装目录为D:\phpstudy_pro
解压php_msgpack.dll 和php_yar.dll 到 D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext
编辑D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.ini 追加
extension=msgpack
extension=yar
然后 D:/phpstudy_pro/Extensions/php/php7.3.4nts/php -m
输入已安装的扩展 检查是不是有yar 扩展成功安装
2.新建两个网站来模拟不同程序之间的调用.
a.com代表提供服务的Yar_Server
新建一个index.php文件
<?php
class Service
{
/**
* @param $name
* @return string
*/
public function hello($name = 'test')
{
return 'hello rpc!' . $name;
}
/**
* @param $name 名字
* @return string
*/
public static function helloB($name)
{
return 'hello' . $name . ' rpc!';
}
protected static function helloProtected()
{
return 'hello protected';
}
}
$ob = new \ReflectionClass($_GET['class'] ?? 'Service');
$class = $ob->getName();
$server = new \Yar_Server(new $class());
return $server->handle();
再项目2新建index.php
<?php
$object = new \Yar_Client('http://a.com/');
$object->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 10000);
$object->SetOpt(YAR_OPT_TIMEOUT, 10000);
echo $object->hello();
3.访问服务端
访问调用的客户段
很赞哦! (2)
上一篇: phpstorm 新建php文件显示为文本 不提示php语法
下一篇: 2022年面试前基本准备1
相关文章
随机图文
-
开怀一笑,让你开心的幽默故事三则
1.信不信由你 现在让骗子闹的人们对任何事情都不敢轻信,真是多次被忽悠,遇事要三思。如果拿着一瓶矿泉水告诉你,这是某某大师施过法术的,可以益寿延年,你肯定不信,如果说这瓶水经过高科技纳米技术处理,又由美国科学院认证,你八成就信了。 你爱人买了件连衣裙,大家都说她穿上真好看,她不一定信,如果有一个说她穿上不好看,她肯定信了。 明星访谈,说他们夫妻如何相亲相爱,你大概不太相信,如果有人说他们俩闹 -
spriingboot之mybatis 多对多关联查询
一对一关联,出现关联数据column所对应的值边为null,尽管关联的数据表有这个id值,中间表关联主表是一对一. 1.写个自定义sql根据通过中间表与用户表示是一对一的关联关系.2.写出查询用户表数 -
开心一笑, 爆笑简短的段子 ,幽默笑话
1、早上我去菜市场买青菜,我问小贩:“你这菜打过农药吗?”小贩想了想说:“估计打不过。”2、跟一女同事玩打手背的游戏,不小心抓到了她的手,破了一点表皮,然后女同事一脸认真的拿出手机,正在我以为她要拍照 -
docker部署php项目 nginx+php docker搭建
1.拉取nginx镜像dockerpullnginx 2.拉取php-fpm这里我就选择php7.4版本的了dockerpullphp:7.4-fpm 3.先运行nginx试试配置有没有啥问