怎麼解決php驗證碼失效問題

2022-11-10 14:01:02

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

e5e73dd0605c12b4ff23c7092da1c91.jpg

方案一:開啟gd2選項

     使用 PHP 處理影象就需要 GD 庫的支援

2b4096f3fc3b544340eb96d385fd5ff.jpg

     在php安裝目錄下面的php.ini的檔案中開啟extension = php_gd2.dll設定,去除前面的「;」符號即可。

9d0beea1aaa282dc111f64eb2e78067.jpg

     在phpstudy中開啟gd2步驟,點選管理->php擴充套件->php_gd2開啟。我們可以通過使用

<? phpphpinfo();?>去檢視gd選項是否開啟。

596cdf4da2f39afd60b19737cceeddd.jpg

方案二:無bom utf-8格式

     或是使用windows自帶的記事本編輯器對網站一些組態檔進行修改和儲存,導致編碼格式發生變化,由無bom的utf-8變成了utf-8。可以使用Notepad++進行轉碼,將utf-8轉成無bom的utf-8。不過筆者不是這個問題。

7721bab20e0fb5903acdf97cfdec9b4.jpg

方案三:ob_clean

55ed1625707201e1c9c98d59fd2304b.jpg

     在生成驗證碼之前,使用ob_clean()方法清除相關快取,但筆者的問題也不在這裡。

方案四:.htaccess 重寫規則

04ad56975094e372c7907f8d43d8817.jpg

<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重寫規則導致的。

1241619af07e8173a0a6fab4e6e711a.jpg

方案五:開啟Redis服務

     有些專案設定了redis快取服務,需要將其開啟,還需要將phpstudy的php擴充套件中的php_redis勾選,最後重新啟動服務即可。

ecdbe932bbbe7f81159ad3c16cd8190.jpg

推薦學習:《》

以上就是怎麼解決php驗證碼失效問題的詳細內容,更多請關注TW511.COM其它相關文章!