您现在的位置是:首页 > PHP框架交流PHP框架交流
php yar扩展实现rpc调用
上善若水2022-03-09 18:35:57【PHP框架交流】 4363人已围观
简介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、本人男,今天上厕所,突然闯进来一女生,我还没反应过来,这女生大吼:“对不起,我什么也没看见。”哥顿时就不爽了,你TM是在嘲笑我小吗?2、有生之年我希望人们用这三句话来羞辱我:1,你怎么帅成这个球样 -
爆笑逗B,逗笑的本领一流
1、凡是用钱可以解决的问题,我现在都解决不了。 2、有时候觉得自己挺重要,地球仪离开了我,就不转。 3、做事情一定要三思而后行:可不可以不做?可不可以明天做?可不可以让别人做? 4、重名的现象还是比较普遍的,今天我遇到一个人名叫铁牛,感觉这个名字真的很重。 我看起来是不是很忧郁的样子,其实我是个逗B! 5、女友怀孕后,很多事情都发生了变化。比如。。。。。。。我的住址和手机号码。 6、我 -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
逗女朋友开心的笑话,皮到爆炸,没有之一
一、每个宿舍都有一个磨牙的、一个打呼噜的、一个说梦话的,还有一个睡得最迟,却纵观全场的。二、我上辈子八成是狗,要不然不会:穷成狗、丑成狗、忙成狗、累成狗、肥成狗、矮成狗、哭成狗、冻成狗。三、媳妇:如果有一天我和范冰冰掉进河里你先救谁?老公:当然是先救你,她和我有半毛钱关系!媳妇:如果她说如果你先救他,她就嫁给你呢?老公:那也不行,万一她骗我呢。媳妇:真特码保本!四、看了网上有很多说熬夜