1. 下载 jwt
composer require firebase/php-jwt
2. ENV 配置
根目录下新建 .env 文件
[database]hostname = 127.0.0.1type = mysqldatabase = e_ortusername = rootpassword = roothostport = 3306prefix =[app]app_debug=trueapp_trace=true
修改下,config 下的 datebase.php 文件
<?php'type' => Env::get('database.type'),// 服务器地址'hostname' => ENV::get('database.hostname'),// 数据库名'database' => ENV::get('database.database'),// 用户名'username' => Env::get('database.username'),// 密码'password' => ENV::get('database.password'),// 端口'hostport' => ENV::get('database.hostport'),// 数据库表前缀'prefix' => ENV::get('database.prefix'),
3. 数据库连接测试
test 模块下的 Test类
<?phpnamespace app\test\controller;use think\Controller;class Test1 extends Controller{// 测试连接数据库public function testConn(){$user = model('common/User')::get(1);return json($user);}}
返回的数据如下:
4. JWT 的简单说明
4.1 介绍
全称 JSON Web Token,以token的方式代替传统的Cookie-Session模式,用于服务器和客户端传递信息签名认证。
4.2 JWT 优点
1)服务端不需要保存传统的会话信息,没有跨域传输问题,减小服务器开销。
2)jwt构成简单,占用字节小,方便传输
3)jwt格式通用,不同语言之间都可以使用
4.3 JWT 组成
1)jwt由三部分组成:
头部(header)
载荷(payload)
签证(signature)
2)具体构成:
header:
{"typ": "JWT", //声明类型为jwt"alg": "HS256" //声明签名算法为SHA256}
payload:
{"iss": "http://www.helloweba.net", // jwt 签发这"aud": "http://www.helloweba.net", // 接收jwt的一方,受众"iat": 1525317601, // jwt 的签发时间"nbf": 1525318201, // 某个时间点才能使用"exp": 1525318201, // 过期时间"data": {"userid": 1,"username": "李小龙"}}
5. PHP7.4.3 安装 redis 扩展 + 测试
5.1 安装 Redis
1)github 下载太慢了,还是用 phpstudy_pro 自带的 redis吧 ……
5.2 配置扩展
1)网址:https://pecl.php.net/package/redis/
1.1)这里有个坑点,我的 PHP 是7.4.3 的是以,要下载对应的 扩展版本是5以上的,否则无论如何都会不生效。我还以为要对应的是 redis 的版本,由于 windows 下 redis 最新的开放的 才是3.1,phpstudy_pro 对应的是 3.0 的版本。我醉了
1.2)下载的如图:对应的版本 我的是64为非线程安全的所以是第一个
2)下载对应的版本,解压缩下载文件,复制粘贴下面两个文件到 ext 文件夹下
修改 php.ini 文件
3)修改对应的 php.ini 文件,添加如下.我把第一行给注释了,发现并没有什么特殊的
[Redis];extension=php_igbinary.dllextension=php_redis.dll
4)重启服务查看
5)php 测试
<?php//连接本地的 Redis 服务$redis = new Redis();$redis->connect('127.0.0.1', 6379);$redis->auth('ailxma'); //密码验证echo "Connection to server successfully" . '<br>';//设置 redis 字符串数据$redis->set("name", "xs");// 获取存储的数据并输出echo "name:" . $redis->get("name");
运行结果如下:ok
