PHP setcookie() cannot modify header information 的解決方法
更新時(shí)間:2009年01月09日 00:55:25 作者:
PHP setcookie() 報(bào) cannot modify header information 錯(cuò)誤的解決方法
使用setcookie()函數(shù)時(shí)總是報(bào)以下錯(cuò)誤:
Warning: Cannot modify header information - headers already sent by....
解決辦法如下:
方法一:
在PHP里Cookie的使用是有一些限制的。
1、使用setcookie必須在<html>標(biāo)簽之前
2、使用setcookie之前,不可以使用echo輸入內(nèi)容
3、直到網(wǎng)頁(yè)被加載完后,cookie才會(huì)出現(xiàn)
4、setcookie必須放到任何資料輸出瀏覽器前,才送出
.....
由于上面的限制,在使用setcookie()函數(shù)時(shí),學(xué)會(huì)遇到 "Undefined index"、"Cannot modify header information - headers already sent by"…等問(wèn)題,解決辦法是在輸出內(nèi)容之前,產(chǎn)生cookie,可以在程序的最上方加入函數(shù) ob_start();
ob_start :打開(kāi)輸出緩沖區(qū)
函數(shù)格式:void ob_start(void)
說(shuō)明:當(dāng)緩沖區(qū)激活時(shí),所有來(lái)自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或flush()輸出緩沖區(qū)的內(nèi)容。
方法二:
解決Warning: Cannot modify header information - headers already sent by ......
前幾天裝了個(gè)php的大頭貼系統(tǒng)測(cè)試,發(fā)現(xiàn)報(bào)錯(cuò)Warning: Cannot modify header information - headers already sent by ......
今天又裝openads,還是出現(xiàn)這個(gè)問(wèn)題。怒了。上網(wǎng)找了半天,有人說(shuō)要在文件開(kāi)頭寫上
ob_start();
失敗。
后來(lái)打開(kāi) php.ini 然后把 output_buffering 設(shè)為 on 。重起appache,OK??磥?lái)這才是解決辦法。
特別注意:
如果使用utf-8編碼,一定要去掉UTF-8中的BOM,這都是因?yàn)閡tf-8編碼文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打開(kāi)轉(zhuǎn)換一下。
Warning: Cannot modify header information - headers already sent by....
解決辦法如下:
方法一:
在PHP里Cookie的使用是有一些限制的。
1、使用setcookie必須在<html>標(biāo)簽之前
2、使用setcookie之前,不可以使用echo輸入內(nèi)容
3、直到網(wǎng)頁(yè)被加載完后,cookie才會(huì)出現(xiàn)
4、setcookie必須放到任何資料輸出瀏覽器前,才送出
.....
由于上面的限制,在使用setcookie()函數(shù)時(shí),學(xué)會(huì)遇到 "Undefined index"、"Cannot modify header information - headers already sent by"…等問(wèn)題,解決辦法是在輸出內(nèi)容之前,產(chǎn)生cookie,可以在程序的最上方加入函數(shù) ob_start();
ob_start :打開(kāi)輸出緩沖區(qū)
函數(shù)格式:void ob_start(void)
說(shuō)明:當(dāng)緩沖區(qū)激活時(shí),所有來(lái)自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或flush()輸出緩沖區(qū)的內(nèi)容。
方法二:
解決Warning: Cannot modify header information - headers already sent by ......
前幾天裝了個(gè)php的大頭貼系統(tǒng)測(cè)試,發(fā)現(xiàn)報(bào)錯(cuò)Warning: Cannot modify header information - headers already sent by ......
今天又裝openads,還是出現(xiàn)這個(gè)問(wèn)題。怒了。上網(wǎng)找了半天,有人說(shuō)要在文件開(kāi)頭寫上
ob_start();
失敗。
后來(lái)打開(kāi) php.ini 然后把 output_buffering 設(shè)為 on 。重起appache,OK??磥?lái)這才是解決辦法。
特別注意:
如果使用utf-8編碼,一定要去掉UTF-8中的BOM,這都是因?yàn)閡tf-8編碼文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打開(kāi)轉(zhuǎn)換一下。
相關(guān)文章
PHP實(shí)現(xiàn)的一致性哈希算法完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)的一致性哈希算法,以完整實(shí)例形式分析了PHP哈希算法的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
源碼分析系列之json_encode()如何轉(zhuǎn)化一個(gè)對(duì)象
這篇文章主要介紹了源碼分析系列之json_encode()如何轉(zhuǎn)化一個(gè)對(duì)象,對(duì)json_encode()感興趣的同學(xué),可以參考下2021-04-04
PHP 實(shí)現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換
這篇文章主要介紹了PHP 實(shí)現(xiàn)公歷日期與農(nóng)歷日期的互轉(zhuǎn)換的相關(guān)資料,希望通過(guò)本文大家能幫助到大家,需要的朋友可以參考下2017-09-09
如何解決php domdocument找不到的問(wèn)題
在本篇文章里小編給大家整理的是一篇關(guān)于php domdocument找不到的解決辦法,有需要的朋友們可以跟著學(xué)習(xí)參考下。2021-07-07
docker中實(shí)現(xiàn)安裝php拓展步驟講解
這篇文章主要介紹了docker中實(shí)現(xiàn)安裝php拓展步驟講解,有不會(huì)安裝的同學(xué)可以跟著操作下2021-01-01
php簡(jiǎn)單實(shí)現(xiàn)批量上傳圖片的方法
這篇文章主要介紹了php簡(jiǎn)單實(shí)現(xiàn)批量上傳圖片的方法,實(shí)例分析了php文件傳輸?shù)膶?shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05
php類自動(dòng)加載器實(shí)現(xiàn)方法
這篇文章主要介紹了php類自動(dòng)加載器實(shí)現(xiàn)方法,涉及php針對(duì)文件的讀取、判斷及字符串操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
PHP實(shí)現(xiàn)檢測(cè)客戶端是否使用代理服務(wù)器及其匿名級(jí)別
這篇文章主要介紹了PHP實(shí)現(xiàn)檢測(cè)客戶端是否使用代理服務(wù)器及其匿名級(jí)別,需要的朋友可以參考下2015-01-01
PHP警告Cannot use a scalar value as an array的解決方法
PHP警告Cannot use a scalar value as an array的解決方法,需要的朋友可以參考下。2012-01-01

