PHP提示Cannot modify header information - headers already sent by解决方法


Posted in PHP onSeptember 22, 2014

本文实例讲述了PHP提示Cannot modify header information - headers already sent by解决方法,是进行PHP程序设计过程中经常会遇到的问题。本文对此以实例形式分析解决方法。分享给大家供大家参考。具体方法如下:

现来看看这段代码:

<?php 
ob_start();
setcookie("username","test",time()+3600);
echo "the username is:".$HTTP_COOKIE_VARS["username"]."\n";
echo "the username is:".$_COOKIE["username"]."\n";
print_r($_COOKIE);
?>

访问该PHP文件时提示Warning: Cannot modify header information - headers already sent by

出错的原因:

原因是在php程序的头部加了,header("content-type: text/html; charset=utf-8");之后页面就出现上面的错误。

因为 header('Content-Type:text/html;charset= UTF-8');发送头之前不能有任何输出,空格也不行,你需要将header(...)之前的空格去掉,或者其他输出的东西去掉,如果他上面include其他文件了,你还要检查其他文件里是否有输出。

上网查了一些资料,说是我的php.ini里面的配置出了问题,找到php.ini文件中的output_buffering默认为off的,把它改为on或者任意一个数字,但尝试无结果。

setcookie函数必?在任何资料输出至浏览器前,就先送出
基于上面?些限制,所以?绦?etcookie()函数时,常会碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等问题,解?Q"Cannot modify header information - headers already sent by"这个错误的方法是在产生cookie前,先延缓资料输出至浏览器,因此,您可以在程序的最前方加上ob_start()函?怠?/p>

ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车\空格\换行\都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出!

通过以下方法,问题得到解决:

//在header()之前

ob_start(); //打开缓冲区 
echo \"Hellon\"; //输出 
header("location:index.php"); //把浏览器重定向到index.php 
ob_end_flush();//输出全部内容到浏览器 
?>

希望本文所述对大家PHP程序设计的学习有所帮助。

PHP 相关文章推荐
PHP网站基础优化方法小结
Sep 29 PHP
精通php的十大要点(上)
Feb 04 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
php中chdir()函数用法实例
Nov 13 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
PHP asXML()函数讲解
Feb 03 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
php过滤HTML标签、属性等正则表达式汇总
Sep 22 #PHP
PHP中exec与system用法区别分析
Sep 22 #PHP
PHP-Java-Bridge使用笔记
Sep 22 #PHP
11个PHPer必须要了解的编程规范
Sep 22 #PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 #PHP
php分页函数完整实例代码
Sep 22 #PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 #PHP
You might like
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python中asyncore的用法实例
2014/09/29 Python
python写日志封装类实例
2015/06/28 Python
python中正则表达式的使用方法
2018/02/25 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
python字符串查找函数的用法详解
2019/07/08 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
英语教学随笔感言
2014/02/20 职场文书
心理学专业求职信
2014/06/16 职场文书
门面房租房协议书
2014/08/20 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
Django Paginator分页器的使用示例
2021/06/23 Python
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA