错误信息:Warning Cannot modify header information - headers already sent by 的解决方法fi

错误信息示例:
Warning: Cannot modify header information - headers already sent by (output started at E:\APMServ5.2.6\www\htdocs\ECSHOPUTF8\languages\zh_cn\admin\common.php:1) in E:\APMServ5.2.6\www\htdocs\ECSHOPUTF8\includes\cls_template.php on line 58




解决方法:
找到php.ini文件
把output_buffering默认的Off设为4096就OK了,这个值可以设置成On,这里设置成数值,能解决问题.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是由于在输出 HTTP 响应内容之前,已经有输出到浏览器的内容了,导致无法再设置 HTTP 响应头。这个问题有以下几种可能的原因: 1. 在 PHP 文件中,有空格、换行、BOM 等字符在 `<?php` 和 `header()` 函数之间,导致无法设置 HTTP 响应头。可以使用文本编辑器将 PHP 文件保存为无 BOM 的 UTF-8 格式,或者在 `<?php` 前面不留空格和换行。 2. 在 PHP 文件中,有 `echo`、`print`、`var_dump` 等输出内容的语句在 `header()` 函数之前,导致无法设置 HTTP 响应头。可以将这些语句放到 `header()` 函数之后执行。 3. 在 PHP 文件中,有多个 `header()` 函数,但是它们之间没有使用 `ob_start()` 和 `ob_flush()` 函数包裹,导致无法连续设置 HTTP 响应头。可以在 PHP 文件开头使用 `ob_start()` 函数开启输出缓冲区,在需要设置 HTTP 响应头的地方使用 `ob_flush()` 函数刷新缓冲区。 4. 在 PHP 文件中,包含了其他 PHP 文件或者模板文件,这些文件中可能存在输出内容的语句,导致无法设置 HTTP 响应头。可以将这些文件中的输出语句放到 `header()` 函数之后执行,或者使用 `ob_start()` 和 `ob_flush()` 函数包裹。 总之,要解决这个问题,就是要确保在执行 `header()` 函数之前,没有输出任何内容到浏览器。如果遇到这个问题,可以逐步排查代码,找到输出内容的源头并解决它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值