搜索
系统检测到您的用户名不符合规范:

session redis方式后,验证码无法check校验

浏览:804 发布日期:2021年05月06日 分类:ThinkPHP6专区 关键字: redis session captcha 验证码
session.php代码:return [
// session name
'name' => 'PHPSESSID',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
// 驱动方式 支持file cache
'type' => 'cache',
// 存储连接标识 当type使用cache的时候有效
'store' => 'redis',
// 过期时间
'expire' => 1440,
// 前缀
'prefix' => '',
];
cahce.php代码:<?php

// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------

return [
// 默认缓存驱动
'default' => env('cache.driver', 'redis'),

// 缓存连接方式配置
'stores' => [
'file' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => '',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
// 缓存标签前缀
'tag_prefix' => 'tag:',
// 序列化机制 例如 ['serialize', 'unserialize']
'serialize' => [],
],
// redis缓存
'redis' => [
// 驱动方式
'type' => 'redis',
// 服务器地址
'host' => '127.0.0.1',
],
// 更多的缓存连接
],
];
缓存是能够正常使用的,就是验证码怎么check都是错误,于是我去追踪代码,到:vendor/topthink/think-captcha/src/Captcha.php--》check()方法,打印里面的$this->session->has('captcha'),发现是false,请问这是怎么回事呢?public function check(string $code): bool
{
dd($this->session->has('captcha'));
if (!$this->session->has('captcha')) {
return false;
}
然后我进到redis-cli里面看,redis也确实存入值了:127.0.0.1:6379> get cb1711a883702951fcd45ef0abb3d43b
"s:104:\"a:1:{s:7:\"captcha\";a:1:{s:3:\"key\";s:60:\"2ドルy10ドル$MvdW3EV3E494CGGQrjpof.2HoacsiO2OkUDaIjxcJ10Bwdky7dMki\";}}\";"
127.0.0.1:6379>
是我配置的问题?还是说系统这块有bug?
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
5786尘烟
积分:474 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /