PHP提示Cannot modify header information - headers already sent by解决方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-04-13 21:26:24 浏览: 评论:0
这篇文章主要介绍了PHP提示Cannot modify header information - headers already sent by解决方法,是在PHP程序开发中非常典型的错误情况,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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函数必須在任何资料输出至浏览器前,就先送出基于上面這些限制,所以執行setcookie()函数时,常会碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等问题,解決"Cannot modify header information - headers already sent by"这个错误的方法是在产生cookie前,先延缓资料输出至浏览器,因此,您可以在程序的最前方加上ob_start()函數。
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程序设计的学习有所帮助。
Tags: Cannot modify header
相关文章
- ·Cannot use object of type stdClass as array(2013-11-28)
- ·Fatal error: Cannot redeclare 常见问题(2013-11-29)
- ·php Cannot modify header information-headers already sent by解决办法(2013-12-04)
- ·Warning: Cannot modify header information - headers already sent by (2013-12-04)
- ·PHP Fatal error: Cannot use object of type stdClass as array in错误(2014-09-20)
- ·解决phpMyAdmin Cannot start session without errors错误(2014-09-21)
- ·phpmyadmin报错:Cannot start session without errors问题(2014-09-21)
- ·编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法(2021-03-03)
- ·PHP JSON出错:Cannot use object of type stdClass as array解决方法(2021-03-31)
- ·PHP错误Warning: Cannot modify header information - headers already sent by解决方法(2021-04-14)
- ·为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法(2021-04-21)
- ·PHP动态编译出现Cannot find autoconf的解决方法(2021-04-24)
- ·header 函式的使用(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)