1. 下载 jwt

  1. composer require firebase/php-jwt

2. ENV 配置

根目录下新建 .env 文件

  1. [database]
  2. hostname = 127.0.0.1
  3. type = mysql
  4. database = e_ort
  5. username = root
  6. password = root
  7. hostport = 3306
  8. prefix =
  9. [app]
  10. app_debug=true
  11. app_trace=true

修改下,config 下的 datebase.php 文件

  1. <?php
  2. 'type' => Env::get('database.type'),
  3. // 服务器地址
  4. 'hostname' => ENV::get('database.hostname'),
  5. // 数据库名
  6. 'database' => ENV::get('database.database'),
  7. // 用户名
  8. 'username' => Env::get('database.username'),
  9. // 密码
  10. 'password' => ENV::get('database.password'),
  11. // 端口
  12. 'hostport' => ENV::get('database.hostport'),
  13. // 数据库表前缀
  14. 'prefix' => ENV::get('database.prefix'),

3. 数据库连接测试

test 模块下的 Test类

  1. <?php
  2. namespace app\test\controller;
  3. use think\Controller;
  4. class Test1 extends Controller
  5. {
  6. // 测试连接数据库
  7. public function testConn()
  8. {
  9. $user = model('common/User')::get(1);
  10. return json($user);
  11. }
  12. }

返回的数据如下:
image.png


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:

  1. {
  2. "typ": "JWT", //声明类型为jwt
  3. "alg": "HS256" //声明签名算法为SHA256
  4. }

payload:

  1. {
  2. "iss": "http://www.helloweba.net", // jwt 签发这
  3. "aud": "http://www.helloweba.net", // 接收jwt的一方,受众
  4. "iat": 1525317601, // jwt 的签发时间
  5. "nbf": 1525318201, // 某个时间点才能使用
  6. "exp": 1525318201, // 过期时间
  7. "data": {
  8. "userid": 1,
  9. "username": "李小龙"
  10. }
  11. }

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为非线程安全的所以是第一个
image.png

2)下载对应的版本,解压缩下载文件,复制粘贴下面两个文件到 ext 文件夹下image.png修改 php.ini 文件

3)修改对应的 php.ini 文件,添加如下.我把第一行给注释了,发现并没有什么特殊的

  1. [Redis]
  2. ;extension=php_igbinary.dll
  3. extension=php_redis.dll

4)重启服务查看
image.png

5)php 测试

  1. <?php
  2. //连接本地的 Redis 服务
  3. $redis = new Redis();
  4. $redis->connect('127.0.0.1', 6379);
  5. $redis->auth('ailxma'); //密码验证
  6. echo "Connection to server successfully" . '<br>';
  7. //设置 redis 字符串数据
  8. $redis->set("name", "xs");
  9. // 获取存储的数据并输出
  10. echo "name:" . $redis->get("name");

运行结果如下:ok
image.png