全部产品
阿里云办公

PHP程序访问报错Warning: Cannot modify header information - headers already sent by

更新时间:2017-06-07 13:26:11

问题描述

php程序出现报错:”Warning: Cannot modify header information - headers already sent by ….”

问题原因

在PHP里Cookie的使用有一些限制:1、使用setcookie必须在标签之前2、使用setcookie之前,不可以使用echo输入内容3、直到网页被加载完后,cookie才会出现4、setcookie必须放到任何资料输出浏览器前才送出

解决办法

1、在输出内容之前产生cookie,可以在程序的最上方加入函数 ob_start();ob_start :打开输出缓冲区函数格式:void ob_start(void)说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

2、如果是独立ECS服务器开启php.ini中的output_buffering,即:output_buffering = On;这种方法开启了所有php程序的输出缓存,这样做可能影响php执行效率,这取决于服务器的性能和代码的复杂度。

3、如果是Linux系统虚拟主机,请将控制面板的PHP.ini设置中的【输出缓冲区数据块设置】参数设置为启用,等待3分钟后测试即可。

1