PHP程序访问提示“Warning: Cannot modify header information - headers already sent by”错误的分析解决
发布日期:2015-12-8 14:12:43
php程序提示"Warning: Cannot modify header information - headers already sent by ...."错误 问题原因: 在PHP里限制了一些Cookie的使用: 1、直到网页被加载完才会出现cookie 2、必须在标签之前使用setcookie 3、使用setcookie之前,不可以使用echo输入内容 4、setcookie必须放到任何资料输出浏览器前才送出 解决办法: 1、如果是Linux系统虚拟主机,请将控制面板的PHP.ini设置中的【输出缓冲区数据块设置】参数设置为启用,等待3分钟后测试就行了。 2、在输出内容之前产生cookie,可以在程序的最上方加入函数 ob_start(); ob_start :打开输出缓冲区函数格式:void ob_start(void) 说明:当缓冲区激活时,不会发送所有来自PHP程序的非文件头信息,而是把它保存在内部缓冲区。为了输出缓冲区的内容,可以使用flush()或ob_end_flush()输出缓冲区的内容。 3、如果是独立ECS服务器开启php.ini中的output_buffering,即:output_buffering = On; 这种方法开启了所有php程序的输出缓存,这样做可能影响php执行效率,这取决于服务器的性能和代码的复杂度。
|