• 1
  • 2
  • 3
  • 4
  • 5
网站空间访问异常 首 页  »  帮助中心  »  虚拟主机  »  网站空间访问异常
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执行效率,这取决于服务器的性能和代码的复杂度。