先说windows客户端的安装
yar扩展下载地址:https://pecl.php.net/package/yar
下载对应的版本
点击DLL可以查看支持的PHP版本,我本地是phpstudy搭建的环境,php版本是7.19.nts
所以我下载了7.1 Non Thread Safe (NTS) x64
解压后里面的php_yar.dll和php_yar.pdb文件放到对应的php版本ext下面
我的是D:\phpstudy_pro\Extensions\php\php7.1.9nts\ext
然后修改php.ini文件增加 extension=php_yar.dll
php.ini文件可以从phpstudy设置中打开对应版本配置文件
重启phpstudy就安装完成了
linux的安装:
安装yar要先装msgpack
安装msgpack
首先进入~目录
find / -name phpize //查看phpize文件位置 我的是 /www/server/php/71/bin/phpize
使用 wegt或者curl下载msgpack
wegt http://pecl.php.net/get/msgpack-2.0.2.tgz 或者 curl -O http://pecl.php.net/get/msgpack-2.0.2.tgz
tar -xzvf msgpack-2.0.2.tgz //解压文件
cd msgpack-2.0.2 //进入目录
/www/server/php/71/bin/phpize //输入自己的phpize路径
./configure --with-php-config=/www/server/php/71/bin/php-config //设置编译配置 我的是/www/server/php/71/bin/php-config
make && make install //开始编译
安装完成后会有个文件位置提示,我的是/www/server/php/71/lib/php/extensions/no-debug-non-zts-20200315
查看自己目录下面是否有msgback.so
修改php.ini文件最后添加extension=/www/server/php/71/lib/php/extensions/no-debug-non-zts-20200315/msgback.so
安装yar
首先进入~目录
cd
find / -name phpize //查看phpize文件位置 我的是 /www/server/php/71/bin/phpize
使用 wegt或者curl下载yar 我的服务器php版本也是7.1的所以下载也是2.0.5的
wegt http://pecl.php.net/get/yar-2.0.5.tgz 或者 curl - O http://pecl.php.net/get/yar-2.0.5.tgz
tar -xzvf yar-2.0.5.tgz //解压文件
cd yar-2.0.5 //进入目录
/www/server/php/71/bin/phpize //输入自己的phpize路径
./configure --with-php-config=/www/server/php/71/bin/php-config //设置编译配置 我的是/www/server/php/71/bin/php-config
make && make install //开始编译
安装完成后会有个文件位置提示,我的是/www/server/php/71/lib/php/extensions/no-debug-non-zts-20200315
查看自己目录下面是否有yar.so
修改php.ini文件最后添加extension=/www/server/php/71/lib/php/extensions/no-debug-non-zts-20200315/yar.so
重启PHP就安装完成了
使用:
服务端是linux的,本地是客户端是windows
服务端安装了tp5.0,直接在index目录测试
新建RpcServer.php文件,用来做控制
<?php
namespace app\index\controller;
/**
* rpc基类(服务端)
*/
class RpcServer
{
//秘钥
protected $key ='约定好的秘钥';
//生成签名
public function getSign($arr)
{
if(empty($arr)</