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,如果有,取消掉即可。
<< 上一篇 SAE中级开发者申请[经验分享] Yii框架快速入门[Yii简介及运行原理] 下一篇 >>
- 正在加载用户留言,请稍后~