thinkphp6 验证码(配置,验证一直不通过)

最近接触到thinkphp6的RC3版本,验证码都搞了我好长一段时间。

1、关于这个版本验证码的配置,官方文档中详细说明了,如果使用扩展内置的方法进行验证码显示,直接在应用的config目录下面的captcha.php文件(没有则首先创建)中进行设置即可,以下设置方式仅限于独立调用Captcha类的时候使用。所以我在config下自己创建了一个配置文件,需要的配置可参照文档自行配置:

thinkphp6 验证码(配置,验证一直不通过)_第1张图片thinkphp6 验证码(配置,验证一直不通过)_第2张图片

配置完成后,在页面输出代码如下:

thinkphp6 验证码(配置,验证一直不通过)_第3张图片

这里需要说明一下,有时候可能不能出现验证码图片,此时请在谷歌调试模式下查看验证码图片的生成路径,也可以将此路径粘贴于浏览器中进行访问,可以查看哪一步出现错误,我这里因为路径的问题,一开始并没有显示出来,于是我自己手动修改了源文件 think-captcha/helper.php中的captcha_img方法,下面圈出来的地方即为修改的地方:

thinkphp6 验证码(配置,验证一直不通过)_第4张图片

2、关于验证,因为tp6的这个版本默认是不开启session的,所以需要我们自己开启,不然验证的时候是取不到session的。这里说明一下,如果是部分文件需要session,那么就在需要使用的控制器中单独引入(如下),这里我所有文件都需要引入,打开app/middleware.php文件,将\think\middleware\SessionInit::class 注释去掉就可以了

use think\facade\Session;
use think\middleware\SessionInit;

 

你可能感兴趣的:(ThinkPHP,ThinkPHP6,PHP)