php驗證碼失效的解決辦法:1、開啟gd2選項;2、使用windows自帶的記事本編輯器對網站組態檔進行修改和儲存;3、使用「ob_clean()」方法清除相關快取;4、重寫規則「.htaccess」;5、開啟Redis服務即可。
php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:
本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。
怎麼解決php驗證碼失效問題?
PHP頁面驗證碼失效不顯示問題解決
筆者也是剛接觸php,難免會出現很多問題,匯入專案的時候就出現了驗證碼失效不顯示的問題。本地設定了phpstudy整合服務,php版本是5.6.9,thinkphp為3.2.2
方案一:開啟gd2選項
使用 PHP 處理影象就需要 GD 庫的支援
在php安裝目錄下面的php.ini的檔案中開啟extension = php_gd2.dll設定,去除前面的「;」符號即可。
在phpstudy中開啟gd2步驟,點選管理->php擴充套件->php_gd2開啟。我們可以通過使用
<? phpphpinfo();?>去檢視gd選項是否開啟。
方案二:無bom utf-8格式
或是使用windows自帶的記事本編輯器對網站一些組態檔進行修改和儲存,導致編碼格式發生變化,由無bom的utf-8變成了utf-8。可以使用Notepad++進行轉碼,將utf-8轉成無bom的utf-8。不過筆者不是這個問題。
方案三:ob_clean
在生成驗證碼之前,使用ob_clean()方法清除相關快取,但筆者的問題也不在這裡。
方案四:.htaccess 重寫規則
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^static/(.*)$ tpl/theme/default/static/$1 [L]
RewriteRule ^tpl/theme/default/(.*)$ tpl/theme/default/$1 [L]
RewriteRule ^Public/(.*)$ Public/$1 [L]
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
登入後複製
最後發現是沒有設定.htaccess重寫規則導致的。
方案五:開啟Redis服務
有些專案設定了redis快取服務,需要將其開啟,還需要將phpstudy的php擴充套件中的php_redis勾選,最後重新啟動服務即可。
推薦學習:《》
以上就是怎麼解決php驗證碼失效問題的詳細內容,更多請關注TW511.COM其它相關文章!