使用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測試服務器地址。就能用了。這也解釋了爲什麼線上驗證碼行,線下不行的緣由了 。
源碼
(工做很忙。之後整理)