Welcome to

Mr.Xiong

Home / PHP / PHP中”Cannot modify header information – headers already sent by”报错解决方案

PHP中”Cannot modify header information – headers already sent by”报错解决方案

新浪微博登录研究中,遇到这个错误:
【Cannot modify header information – headers already sent by 】如下图:
此时我才XX写了几行代码!比较坑的是,当时直接用服务器来测试代码,结果显示的页面是空白页面,什么报错也没有!还好机智的看了会儿本地环境下,出现图1的报错。思来想去,问来问去,终究还是解决了这个Bug,原来是条Dog,感觉自己就是只Pig!

咱们首先来分析下错误。造成的原因是因为setcookie语句的问题。
cookie本身在使用上有一些限制,例如:
1.呼叫setcookie的叙述必须放在<html>标签之前
2.呼叫setcookie之前,不可使用echo
3.直到网页被重新载入后,cookie才会在程式中出现
4.setcookie函数必須在任何资料输出至浏览器前,就先送出
5.……
基于上面这些限制,所以执行setcookie()函数时,常会碰到“Undefined index”“Cannot modify header information – headers already sent by”…等问题。解決“Cannot modify header information – headers already sent by”这个错误的方法是在产生cookie前,先延缓资料输出至浏览器。写法如下:

1.在页面顶部的php标签中加入 ob_start();

2.在返回的信息下面加入 ob_end_flush();

好啦,就是这么简单~
Finally,谢谢大家的阅读!祝每天开心~

版权声明:本文为博主半原创文章,未经博主允许不得转载。

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

雄心勃勃但谦卑温逊!

>> <<