1. 下载 jwt
composer require firebase/php-jwt
2. ENV 配置
根目录下新建 .env 文件
[database]
hostname = 127.0.0.1
type = mysql
database = e_ort
username = root
password = root
hostport = 3306
prefix =
[app]
app_debug=true
app_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类
<?php
namespace 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.dll
extension=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