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
ADODB类使用
Nov 25 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
php函数与传递参数实例分析
Nov 15 PHP
PHP版微信公众平台红包API
Apr 02 PHP
windows下安装php的memcache模块的方法
Apr 07 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
PHP 选项及相关信息函数库
2006/12/04 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
python getopt模块使用实例解析
2019/12/18 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
pycharm中选中一个单词替换所有重复单词的实现方法
2020/11/17 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
早读迟到检讨书
2014/01/24 职场文书
安全大检查实施方案
2014/02/22 职场文书
教室布置标语
2014/06/26 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android