程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php Cannot modify header information - headers already sent

php Cannot modify header information - headers already sent

編輯:關於PHP編程

本文章介紹了多種關於php Cannot modify header information - headers already sent by set 解決方法 ,有需有的朋友可以參考一下。

在 php 配置文件 php.ini 中將 output_buffering 設置為 On。開啟即可。

output_buffering = On  

-------------------------------
All or nothing, now or never.


有以下幾種解決方法:

1. Blank lines (空白行):
Make sure no blank line after <?php ... ?> of the calling php script.
檢查有<?php ... ?> 後面沒有空白行,特別是include或者require的文件。不少問題是這些空白行導致的。

 

2. Use exit statement (用exit來解決):

 代碼如下 復制代碼 Use exit after header statement seems to help some people
在header後加上exit();
header ("Location: xxx");
exit();

 Use Javascript (用Javascript來解決):

 代碼如下 復制代碼 <? echo "<script> self.location("file.php");</script>"; ?>

Since it's a script, it won't modify the header until execution of Javascript.
可以用Javascript來代替header。但是上面的這段代碼我沒有執行成功... 另外需要注意,采用這種方法需要浏覽器支持Javascript.

3b. Use output buffering (用輸出緩存來解決):

 代碼如下 復制代碼 <?php ob_start(); ?>
... HTML codes ...
<?php
... PHP codes ...
header ("Location: ....");
ob_end_flush();
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved