php出现Cannot modify header information解决实例

以前做了个PHP读取文本文档的小程序,然后改造了一下加了个登录功能,让它可以凭密码登陆修改文本文档,可以用在php在线修改robots文件等等。但是更换了主机之后,原来的代码不能用了,出现了Cannot modify header information的错误提示。

PHP Warning:  Cannot modify header information – headers already sent by (output started at /demo/robots.php:3) in /demo/robots.php on line 7
PHP Warning:  session_start() [<a href=’function.session-start’>function.session-start</a>]: Cannot send session cache limiter – headers already sent (output started at /demo/robots.php:3) in /demo/robots.php on line 4

而在其他主机和本地测试一切正常,最后网上找到一段话:

cookie本身在使用上有一些限制,例如:
1.呼叫setcookie的代码必须放在<html>标签之前
2.呼叫setcookie之前,不可使用echo
3.直到网页被重新载入后,cookie才会在程序中出現
4.setcookie函数必須在任何资料输出至浏览器前,就先送出……

那么会不会是Session也需要在<html>标签之前出现呢?而我为了省事,在代码中没有加入<html>标签,看了有些是不能省略的。

于是增加了标准html代码,并在将$_SESSION的判断放在了整个文档的前面。然后测试了下,成功了。有时候一个小的地方不注意,就会造成一些大的问题。以后要注意了。

登陆一下试试看吧:http://liboseo.com/demo/robots.php

“php出现Cannot modify header information解决实例”的4个回复

  1. 你好 第一次来 想请问下 我这个网站在备案的时候被收录了 是12月9日的快照 后来一直在备案 现在备案过了好几天了 我想了很多办法都没有让快照更新 请问有什么办法吗?地址是www.lianjie521.com 谢谢了

评论已关闭。