如何解決phpheader不起作用的問題

本篇內(nèi)容介紹了“如何解決php header不起作用的問題”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)主營美蘭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),美蘭h5成都微信小程序搭建,美蘭網(wǎng)站營銷推廣歡迎美蘭等地區(qū)企業(yè)咨詢

php header不起作用的方法:1、刪除location和“:”號間的空格;2、刪除在用header前的輸出;3、header后的PHP代碼被執(zhí)行。

本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

php header 不起作用怎么辦?

PHP Header失效的原因分析及解決方法

在PHP中用header("location:test.php")進行跳轉(zhuǎn)要注意以下幾點:

1、location和“:”號間不能有空格,否則會出錯。

2、在用header前不能有任何的輸出,包括include的頁面中標簽“?>”后不能有空格??!

3、header后的PHP代碼還會被執(zhí)行。

續(xù):

問題:header函數(shù)前輸入內(nèi)容

一般來說在header函數(shù)前不能輸出html內(nèi)容,類似的還有setcookie() 和 session 函數(shù),這些函數(shù)需要在輸出流中增加消息頭部信息。如果在header()執(zhí)行之前有echo等語句,當(dāng)后面遇到header()時,就會報出 “Warning: Cannot modify header information – headers already sent by ….”錯誤。就是說在這些函數(shù)的前面不能有任何文字、空行、回車等,而且最好在header()函數(shù)后加上exit()函數(shù)。例如下面的錯誤寫法,在 兩個php代碼段之間有一個空行:

//這里應(yīng)該是一個空行

原因:

PHP腳本開始執(zhí)行 時,它可以同時發(fā)送http消息頭部(標題)信息和主體信息. http消息頭部(來自 header() 或SetCookie() 函數(shù))并不會立即發(fā)送,相反,它被保存到一個列表中. 這樣就可以允許你修改標題信息,包括缺省的標題(例如Content-Type 標題).但是,一旦腳本發(fā)送了任何非標題的輸出(例如,使用 HTML 或 print()調(diào)用),那么PHP就必須先發(fā)送完所有的Header,然后終止 HTTPheader.而后繼續(xù)發(fā)送主體數(shù)據(jù).從這時開始,任何添加或修改Header信息的試圖都是不允許的,并會發(fā)送上述的錯誤消息之一。

解決方法:

修改php.ini打開緩存(output_buffering),將output_buffering=0修改成output_buffering=4096

或 者在程序中使用緩存函數(shù)ob_start(),ob_end_flush() 等。原理是:output_buffering被啟用時,在腳本發(fā)送輸出時,PHP并不發(fā)送HTTPheader。相反,它將此輸出通過管道(pipe) 輸入到動態(tài)增加的緩存中(只能在PHP4.0中使用,它具有中央化的輸出機制)。你仍然可以修改/添加header,或者設(shè)置cookie,因為 header實際上并沒有發(fā)送。當(dāng)全部腳本終止時,PHP將自動發(fā)送HTTP header到瀏覽器,然后再發(fā)送輸出緩沖中的內(nèi)容。

“如何解決php header不起作用的問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

文章標題:如何解決phpheader不起作用的問題
文章鏈接:http://bm7419.com/article6/gegdig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、搜索引擎優(yōu)化網(wǎng)站設(shè)計、服務(wù)器托管、Google、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)