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 相关文章推荐
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 PHP
yii,CI,yaf框架+smarty模板使用方法
Dec 29 PHP
Yii2框架使用计划任务的方法
May 25 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
关于laravel框架中的常用目录路径函数
Oct 23 PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 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
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
jquery处理json对象
2014/11/03 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
Python中类的继承代码实例
2014/10/28 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
Python读写文件基础知识点
2019/06/10 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
团结主题班会
2015/08/13 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
基于Python实现一个春节倒计时脚本
2022/01/22 Python
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android