今天在用tp6的验证码时候,做登录验证。验证码报错,死活提示验证码失败。
经过一些测试才知道,tp6的session是默认不开启。需要手动取消注释。
验证码和session的关系。
其实他是吧验证码的内容存到了session中,所以要是用验证码必须开启session。
这是他的Captcha类
可以看到他在构造函数先注入了一个session类创建一个session的对象保存起来,在以后的session操作就靠这个对象了。
在他的创建验证码的方法中可以看到,他通过session的对象向session中存入了一个’captcha’的key.
在他对验证码进行验证的时候:
先去获取啦一下session中储存的验证码信息。
这就是为什么在使用tp6的验证码的时候必须开启session,在tp6之前的时代,都是根据你php.ini中是否开启啦session。在tp6他自己封装了session的实现,所以需要你手动开启session。切记!!!