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 相关文章推荐
打造计数器DIY三步曲(上)
Oct 09 PHP
php中模拟POST传递数据的两种方法分享
Sep 16 PHP
php 地区分类排序算法
Jul 01 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
php获取文件大小的方法
Feb 26 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 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 include的妙用,实现路径加密
2008/07/29 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
2016/08/28 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
JS JQuery获取data-*属性值方法解析
2020/09/01 jQuery
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Python分治法定义与应用实例详解
2017/07/28 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
PyTorch的torch.cat用法
2020/06/28 Python
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
尽职尽责村干部自我鉴定
2014/01/23 职场文书
演讲稿格式范文
2014/05/19 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书