助力软件开发企业降本增效 PHP / java源码系统,只需一次付费,代码终身使用! 广告
远程调用的好处 解耦:当server需要对方法内实现修改时,client完全感知不到,不用做任何变更;这种方式在跨部门,跨公司合作的时候经常用到,并且方法的提供者我们通常称为:服务的暴露。 yar 是国内著名的php大神鸟哥惠新宸的大作,在微博产品中已经开始使用。它也是一款rpc框架。它由于使用纯C编写的用于php的扩展,所以,效率应该是蛮高的,而且支持异步并行,这点还是赞的。 下载安装 官网下载:http://pecl.php.net/package/yar 最新的版本 [root@localhost yar-1.2.4]# /usr/local/php7/bin/phpize [root@localhost yar-1.2.4]# ./configure --with-php-config=/usr/local/php7/bin/php-config [root@localhost yar-1.2.4]# make && make install [root@localhost /]# vi /usr/local/php/etc/php.ini [yar] extension=yar.so 服务端: <?php class API { /** * the doc info will be generated automatically into service info page. * @params * @return */ public function doAdd($a=0,$b=0){ return $a+$b; } } $service = new Yar_Server(new API()); $service->handle(); ?> 客户端: <?php /** * Created by PhpStorm. * User: tobosu02 * Date: 17-10-28 * Time: 上午10:50 */ $client = new Yar_Client("http://www.test1.com/yar_server.php"); echo $client->doAdd(10,20); ?> 修改/etc/hosts 添加 127.0.0.1 www.test1.com 上面访问后输出30 参考地址:http://blog.sina.com.cn/s/blog_6bb942f70101hx11.html c原理:https://segmentfault.com/a/1190000010158190