真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php顯示不了驗(yàn)證碼圖片怎么辦-創(chuàng)新互聯(lián)

php顯示不了驗(yàn)證碼圖片怎么辦?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)梁平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

php顯示不了驗(yàn)證碼圖片的解決辦法:1、去除“;extension=php_gd2.dll”中的分號(hào);2、將代碼的編碼格式改成無(wú)BOM格式;3、使用“ob_clean()”函數(shù)清除緩存。

問(wèn)題

php顯示不了驗(yàn)證碼圖片怎么辦

今天在在本地新建了一個(gè)虛擬主機(jī),把以前寫(xiě)好的一個(gè)php小網(wǎng)站部署上去,因?yàn)橐郧坝玫膚amp集成環(huán)境,所以沒(méi)有出現(xiàn)這種情況。現(xiàn)在突然發(fā)現(xiàn)驗(yàn)證碼竟然刷不出來(lái)了。

于是便開(kāi)啟了找bug之旅,在網(wǎng)上找了許多辦法,最后終于解決了,現(xiàn)在分享如下:

bug1

出現(xiàn)上面的情況,最基本的一個(gè)錯(cuò)誤就是你很可能在php里面忘記安裝gd模塊了。

window環(huán)境下面只需要在php.ini文件里面找到

;extension=php_gd2.dll

把前面的分號(hào)去掉就可以了,重啟apache后,你就可以在phpinfo()里面找到這個(gè)

php顯示不了驗(yàn)證碼圖片怎么辦

如果是在ubuntu環(huán)境下面,你需要安裝gd模塊,命令是

sudo apt-get install php5-gd

安裝好了以后,也可以看到上面的模塊。

bug2

如果小伙伴經(jīng)歷上面的安裝后,發(fā)現(xiàn)還是沒(méi)有用,那么就可能是下面的問(wèn)題了

你的代碼很可能是使用了像editpuls或者notepad++這樣的文本編輯器編輯的,那么他們的默認(rèn)編碼格式就是有BOM的utf-8。

UTF-8 BOM又叫UTF-8 簽名,其實(shí)UTF-8 的BOM對(duì)UFT-8沒(méi)有作用,是為了支持UTF-16,UTF-32才加上的

BOM,BOM簽名的意思就是告訴編輯器當(dāng)前文件采用何種編碼,方便編輯器識(shí)別,但是BOM雖然在編輯器

中不顯示,但是會(huì)產(chǎn)生輸出,就像多了一個(gè)空行。
一般我用UTF-8無(wú)BOM格式

所以你需要將代碼的編碼格式改成無(wú)BOM格式。

bug3

如果大家經(jīng)歷上面的兩個(gè)步驟發(fā)現(xiàn)還是不起作用,那就要祭出殺手锏了。

使用ob_clean()了,清除一下緩存。

ob_clean這個(gè)函數(shù)的作用就是用來(lái)丟棄輸出緩沖區(qū)中的內(nèi)容,如果你的有許多生成的圖片類文件,那么想要訪問(wèn)正確,就要經(jīng)常清除緩沖區(qū)。

	public function create()
	{
		ob_clean();
		$a = new verify();
		session::set('captcha', strtolower($a->create(4, 15)));
		view::assign("captcha", $a);
		view::display("captcha");
		exit(0);
	}

現(xiàn)在,大家可以看到恢復(fù)正常了

注意:大家如果使用較高的php版本,那么不能使用未定義變量,否則會(huì)報(bào)notice錯(cuò)誤,$new_number和$_SESSION['check_checks']在使用前必須用isset判斷一下或者你用老代碼的話在最開(kāi)始處加上error_reporting(E_ALL & ~E_NOTICE);屏蔽掉notice錯(cuò)誤(不推薦),所以用isset()判斷一下,來(lái)確保它被定義了。不然也有可能顯示不出來(lái)驗(yàn)證碼。

關(guān)于php顯示不了驗(yàn)證碼圖片怎么辦問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


網(wǎng)站標(biāo)題:php顯示不了驗(yàn)證碼圖片怎么辦-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/eosci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部