小笙's Blog

SAE平台Warning:Cannot modify header information2013.05.20 09:05
1
Warning: Cannot modify header information - headers already sent by

此警告的产生原因是:调用header函数之前文件已有输出,例如:

1
2
3
echo' ';
header("Content-type:text/html; charset=utf-8");
echo'This is a Test';

在调用header设置编码之前已有空格输出,将会提示此警告。

解决方法也比较简单

在输出之前调用函数即可。或者修改PHP配置文件,开启output_buffering。


但是用SAE做开发时,会遇到非常诡异的问题,即使没有输出,也会有此警告产生,并且是在UTF8编码格式下的文件才会出现。这种时候就无法去修改配置文件解决此问题了。

后经查证,是由于UTF8编码下BOM问题,即UTF8文件有时候会在文件开头写入几个识别文件编码的字符。这种识别字符一般是隐藏的,需要借助工具才能去除。

解决方案

我们可以用DreamWeaver打开这个文件,CTR+J可以看到文件的属性,在“标题/编码 ”中可以看到此文件是否包含BOM,如果有,取消掉即可。

  • 正在加载用户留言,请稍后~
点击这里取消回复

  • 请选择邮箱类型
  • @qq.com
  • @163.com
  • @sina.com
  • @126.com
  • @vip.qq.com
  • @sina.com.cn

:love: :kiss: :twist: :top: :shake: :bye: :han: :sleep: :lula: :rou: :happy: