全部
常见问题
产品动态
精选推荐

headers already sent by出错的几种原因

管理 管理 编辑 删除

PHP中可以修改HTTP header的几个函数如下:

header /header_remove

session_start/session_regenerate_id

setcookie/setrawcookie

如果在使用上面函数时出现了

Warning: Cannot modify header information - headers already sent (output started at script:line)

根本原因就是应该在output输出之前才可以修改header。什么是output 输出之前呢?有意无意的时候可以产生输出:

不知情的发生

  • <?php之前多了一个空格,或者?>之后多了一个空格
  • UTF-8 Byte Order Mark (UTF-8 BOM),文件字符集编码的问题。应查看你的PHP文件编码格式,如果是UTF-8 BOM的就会有这个情况。
  • 之前有错误或告警发生

特意产生输出

  • print, echo 以及其他可以产生输出的函数
  • <?php 之前有原始的<html>

HTTP协议中header 信息必须在page/output之前。PHP首先把header信息传给web server,  而且是一次性完成的,双分行符结束。如:

HTTP/1.1 200 OK
Powered-By: PHP/5.3.7
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8

<html><head><title>PHP page output page</title></head>
<body><h1>Content</h1> <p>Some more output follows...</p>
and <a href="/"> <img src=internal-icon-delayed> </a>

当PHP收到第一个output(print, echo,<html>)时,它将flush所有收集的header.这之后就不可以再发送header信息了。

常见的错误代码有:

<html>
    <?php session_start(); ?>
    <head><title>My Page</title>
</html>
...
 <?php
// 在 "<?php"之前多了一个空格
?>
<?php
echo "hello world"
setcookie('username',"supprman",time()-3600);
?>


请登录后查看

CRMEB-慕白寒窗雪 最后编辑于2023-03-22 18:16:51

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
1949
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

CRMEB-慕白寒窗雪 作者
社区运营专员---高冷のBoy | 呆萌のGirl

回答

2304

发布

1777

经验

45562

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服