日期:2014-05-17  浏览次数:20459 次

CodeIgniter警告:Cannot modify header information 请高手帮忙
在控制器里面输入了这段代码


 class Myfile1 extends CI_Controller
  {
  function myfile1()
  {
  $str=file_get_contents('./aa.txt');
  $str=$str?$str:0;
  $str++;
  file_put_contents('./aa.txt',$str);
  $str=file_get_contents('./aa.txt');
  echo $str;
  }
  }

然后运行 结果能正确输出$str; 但输出$str后 接着显示

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\ci\application\controllers\myfile1.php:12)

Filename: core/Common.php

Line Number: 442


404 Page Not Found

The page you requested was not found.


不知道什么原因 请高手指点!!!


------解决方案--------------------
建议给php装个xdebug,可以输出一个错误的所有追踪信息,然后你就知道这个header输出是怎么被调用的了
------解决方案--------------------
程序已经告诉你问题所在了
headers already sent by (output started at E:\AppServ\www\ci\application\controllers\myfile1.php:12)
意思是在E:\AppServ\www\ci\application\controllers\myfile1.php第12出了状况.在header之前有内容输出
因为header头之前是绝对不能有内容输出的,所以就出现了你目前的状况.看看自己的代码,在哪里有不该出现的echo;print之类的玩意输出了内容.