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上传、管理照片示例
Oct 09 PHP
PHP 简单数组排序实现代码
Aug 05 PHP
c#中的实现php中的preg_replace
Dec 21 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
Symfony控制层深入详解
Mar 17 PHP
详解php中 === 的使用
Oct 24 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 PHP
PHP控制循环操作的时间
Apr 01 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
延长phpmyadmin登录时间的方法
2011/02/06 PHP
PHP echo()函数讲解
2019/02/15 PHP
最常用的12种设计模式小结
2011/08/09 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
详解vue-router 初始化时做了什么
2018/06/11 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
用js编写留言板
2020/03/17 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
对于Python的Django框架使用的一些实用建议
2015/04/03 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
七一建党日演讲稿
2014/09/05 职场文书
教师工作表现自我评价
2015/03/05 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers