国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

wordpress分頁出現:Warning: Cannot modify header information

2024-09-07 00:51:47
字體:
來源:轉載
供稿:網友

如果頁面出現Warning: Cannot modify header information ? headers already sent by這問題,一般是頁面頭你在session之前有輸出了,下面一起來看看wordpress頁面出現此問題解決辦法.

最近無意間查看網站時,瀏覽了一下分類頁,正常顯示,也就是這個分類文章列表的第一頁,然后點到下一頁,正常顯示,但是再點擊第一頁時,就出現在錯誤提示:

Warning:Cannot modify header information – headers already sent by (output started at /home/hotzutic/domains/Vevb.com/public_html/wp-config.php:1) in/home/hotzutic/domains/Vevb.com/public_html/wp-includes/pluggable.php on line 1121

按照上面的代碼提示,還以為是wordpress程序下的wp-includes/pluggable.php 文件有問題,于是我重新上傳了一下相關文件,但是隨后,問題依舊,這是怎么回事呢?

于是,在網上查了下,看有沒有碰到與我一樣的問題,呵呵,還真有類似情況的發生,他們說是代碼utf-8帶bom的問題,讓wp-config.php文件的第一行有空行,才導致這樣的錯誤提示,我仔細看了一下代碼,可能還真是,因為錯誤代碼中也提到了這個文件的第一行:public_html/wp-config.php:1

于是我果斷地通過 EditPlus 編輯器把wp-config.php文件代碼轉換成無bom格式的,再查看網站,正常了.

補充:

看了一些網上的方法也沒解決,最后在php.ini配置output_buffering默認為4096就沒有遇到這個錯誤了:

output_buffering設置說明:

Off:表示關閉PHP輸出緩存

On:打開無限大的輸出緩存

4096:打開大小為4096Byte的輸出緩存

默認情況下,php buffer是開啟的,而且該buffer默認值是4096,即4kb,你可以通過在php.ini配置文件中找到output_buffering配置.當echo,print等輸出用戶數據的時候,輸出數據都會寫入到php output_buffering中,直到output_buffering寫滿,會將這些數據通過tcp傳送給瀏覽器顯示。你也可以通過ob_start()手動激活php output_buffering機制,使得即便輸出超過了4kb數據,也不真的把數據交給tcp傳給瀏覽器,因為ob_start()將php buffer空間設置到了足夠大,只有直到腳本結束,或者調用ob_end_flush函數,才會把數據發送給客戶端瀏覽器.

下面我們來看看解決方案:

1. 把錯誤警告全不顯示,治標不治本的方法

error_reporting(E_ERROR | E_PARSE);這里不要顯示E_WARNING即可.

2. 編輯php.ini

打開php.ini文件,找到output_buffering = 改為on或者任何數字.

3. 如果沒有權限編輯php.ini,如使用虛擬主機的

在你的空間根目錄下建立一個.htaccess文件,內容如下:

AllowOverride AllPHP_FLAG output_buffering On

如果還是不行,那么,再用下面的方法:

在PHP文件的最開始加入:ini_set(”output_buffering”, “1〃);

讓這個頁面打開PHP的輸出緩存.

4. 在PHP文件里解決

ob_start()

啟用output buffering機制,Output buffering支持多層次 — 例如,可以多次調用 ob_start() 函數。

ob_end_flush()

發送output buffer(輸出緩沖)并禁用output buffering機制。

ob_end_clean()

清除output buffer但不發送,并禁用output buffering。

ob_get_contents()

將當前的output buffer返回成一個字符串,允許你處理腳本發出的任何輸出.

原理:output_buffering被啟用時,在腳本發送輸出時,PHP并不發送HTTP header,相反,它將此輸出通過管道(pipe)輸入到動態增加的緩存中,只能在PHP 4.0中使用,它具有中央化的輸出機制,你仍然可以修改/添加header,或者設置cookie,因為header實際上并沒有發送,當全部腳本終止時,PHP將自動發送HTTP header到瀏覽器,然后再發送輸出緩沖中的內容.

5. 如果以上方法都不能等到滿意的解決辦法,請用如下辦法:

用notepad++等編輯器將該文件轉為UTF-8 without BOM編碼的文件,再試試.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘德县| 井冈山市| 武城县| 枞阳县| 合作市| 内丘县| 武穴市| 龙游县| 屏南县| 南城县| 大庆市| 嘉峪关市| 湖口县| 玛曲县| 东阿县| 松阳县| 南溪县| 舒城县| 松溪县| 临西县| 东乡| 台南市| 三原县| 石嘴山市| 永登县| 安丘市| 德阳市| 澎湖县| 曲阜市| 瑞昌市| 饶平县| 昌吉市| 永泰县| 西乌珠穆沁旗| 犍为县| 新密市| 兴化市| 察隅县| 平湖市| 蒙山县| 泰来县|