yii1.6 驗證碼不顯示,死活驗證不對的解決辦法

  1.  使用yii驗證碼若是驗證碼不顯示。php

首先檢查圖片擴展是否報錯。看看php的imagick是否有問題(線上服務器可以yii可以成功加載imagick,可是在生成文字時報錯。ajax

若是該擴展報錯,就必須修改源碼,設置爲默認首先加載gd擴展redis


2. 死活驗證不對服務器

狀況1:session

ajax驗證。驗證碼默認驗證次數最多爲3次yii

若是超過3次之後不管輸入多少都是死活不成功的測試

必須修改控制器中的actions中testLimit的次數上限。能夠改爲999次。這樣就不用擔憂輸錯了,正常人不會輸錯999次的。spa

狀況2:圖片

因爲yii驗證碼生成後。會將驗證碼保存到session中。可是公司是將session保存到redis中。可是線下測試環境中用的redis測試服務器不穩定。而後就保存在session中的驗證碼死活取不出來始終是NULL。我將yii的session用php默認的保存方式,不用redis就能取出來。而後換了新的redis測試服務器地址。就能用了。這也解釋了爲什麼線上驗證碼行,線下不行的緣由了 。
源碼

(工做很忙。之後整理)

相關文章
相關標籤/搜索