yii1.6 验证码不显示,死活验证不对的解决办法

  1.  使用yii验证码如果验证码不显示。

首先检查图片扩展是否报错。看看php的imagick是否有问题(线上服务器能够yii能够成功加载imagick,但是在生成文字时报错。

如果该扩展报错,就必须修改源码,设置为默认首先加载gd扩展


2. 死活验证不对

情况1:

ajax验证。验证码默认验证次数最多为3次

如果超过3次以后无论输入多少都是死活不成功的

必须修改控制器中的actions中testLimit的次数上限。可以改成999次。这样就不用担心输错了,正常人不会输错999次的。

情况2:

由于yii验证码生成后。会将验证码保存到session中。但是公司是将session保存到redis中。但是线下测试环境中用的redis测试服务器不稳定。然后就保存在session中的验证码死活取不出来始终是NULL。我将yii的session用php默认的保存方式,不用redis就能取出来。然后换了新的redis测试服务器地址。就能用了。这也解释了为何线上验证码行,线下不行的原因了 。

(工作很忙。以后整理)

你可能感兴趣的:(yii,验证码,不显示,始终验证不对)