thinkphp6 驗證碼(配置,驗證一直不通過)

最近接觸到thinkphp6的RC3版本,驗證碼都搞了我好長一段時間。

1、關於這個版本驗證碼的配置,官方文檔中詳細說明了,如果使用擴展內置的方法進行驗證碼顯示,直接在應用的config目錄下面的captcha.php文件(沒有則首先創建)中進行設置即可,以下設置方式僅限於獨立調用Captcha類的時候使用。所以我在config下自己創建了一個配置文件,需要的配置可參照文檔自行配置:

配置完成後,在頁面輸出代碼如下:

這裏需要說明一下,有時候可能不能出現驗證碼圖片,此時請在谷歌調試模式下查看驗證碼圖片的生成路徑,也可以將此路徑粘貼於瀏覽器中進行訪問,可以查看哪一步出現錯誤,我這裏因爲路徑的問題,一開始並沒有顯示出來,於是我自己手動修改了源文件 think-captcha/helper.php中的captcha_img方法,下面圈出來的地方即爲修改的地方:

2、關於驗證,因爲tp6的這個版本默認是不開啓session的,所以需要我們自己開啓,不然驗證的時候是取不到session的。這裏說明一下,如果是部分文件需要session,那麼就在需要使用的控制器中單獨引入(如下),這裏我所有文件都需要引入,打開app/middleware.php文件,將\think\middleware\SessionInit::class 註釋去掉就可以了

use think\facade\Session;
use think\middleware\SessionInit;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章