彻底解决 headers already sent

Cannot modify header information – headers already sent

今天这个破问题彻底搞掉我了!

 

出几个解决方案:

1.最笨的办法,也是最简单的办法(在语句前加一个@, 不过这好像不是一个优秀程序员做得出来的嗯,有问题要解决问题,不应该回避问题);

2.在使用 HEADER 前使用了ECHO或者其他输出命令了.(检查php文件 没有发现);

3.header前面有空行(检查后发现有,去掉空行,依旧报错);

4.可能INCLUDE 了一个文件,该文件尾部有空行或者输出(检查后发现有,去掉空格,依旧报错 {写代码的时候坏习惯还不少});

5. 修改php的配置文件, 把output_buffering =改为on (错误消失, 不过动不动就改配置文件,{当然也可以找对应的php语句修改} , 虽然不是什么大事,但是总感觉不太好,代码有问题不能让别人{配置文件}补救,好程序员也不这么干 ,于是改为off 继续找原因);

6.php文件里面含BOM信息,找工具清除掉( 我用的是UltraEdit     文件->另存为->格式{utf-8无bom} ->确定{当然前提你的代码得是uft-8的} 错误消失);

问题终于找到的 奶奶的 搞得头都大了!之前用记事本直接改的uft-8,不管用.所以一定要用工具改成 无bom的;

 

 

测试环境

 

操作系统:windowsXP SP3(好像没什么关系)

Server API:pache 2.0 Handler

php版本:PHP Version 5.2.3

UltraEdit:16.10.0.1036