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

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之类的玩意输出了内容.