今天在將一套程序放到其他服務器上執行的時候,發現後台的登錄驗證碼不管輸入正確與否,總是顯示:
驗證碼輸入有誤
接著就開始debug了。
因為正確的驗證碼結果已經經過加密之後保存在了session中,所有用於輸入的驗證碼會跟session中的進行比對,從而判斷驗證碼是否輸入有誤!
既然老是顯示:"驗證碼輸入有誤"
說明session中保存到結果可能有問題。然後,dump下session,發現結果為null......
解決辦法:使用phpinfo查看session信息,找出session的保存路徑,然後給其設置寫入的權限即可
注:記得重啟apache或iis