用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3601|回复: 9
收起左侧

[HELP] 请问这个问题怎么解决?

[复制链接]
发表于 2009-8-3 23:37:12 | 显示全部楼层 |阅读模式
A PHP Error was encounteredSeverity: Warning
Message: Cannot modify header information -
发表于 2009-8-3 23:45:05 | 显示全部楼层
这个信息无法判断错误,需要更多错误消息。
发表于 2009-8-4 10:50:05 | 显示全部楼层
这类问题需要从HTTP协议入手了。HTTP协议分报头和内容,报头必须发送在http响应的最前面,之后跟着是响应的HTML内容。在运行一个简单的PHP页面的时候,如果不开缓存,PHP基本上会直接把HTML内容发送到客户端,但是一旦发送HTML页面的话,报头也就直接发送过去了。因此,报头如果已经发送了,那么再来改报头就会报错(因为已经发送,改了等于白改)。
楼主可以看看是不是有些地方在“<?php”之前已经发送了什么字符了,比如空行活空格之类的。
鄙人以前遇到这类问题,修改不了header,发现是在页面最开始空了一行,然后是<?php,后来把空行去掉就好了。
 楼主| 发表于 2009-8-4 11:10:25 | 显示全部楼层
本帖最后由 书君 于 2009-8-4 11:11 编辑

A PHP Error was encountered Severity: Warning Message: Cannot modify header information - headers already sent by (output started at D:\Vhost\WebRoot\liu\www\system\application\controllers\A.php:1) Filename: libraries/Session.php Line Number: 662



在我在视图里,html头文件是这样写的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


很郁闷。也没楼上所说的什么空格。
现在看报错,反而是控制器的问题?
可是我的控制器也没提及编码问题啊。有 点悬~~~~
再说,我每一个控制器都开了十分钟的缓存的!
发表于 2009-8-4 11:29:26 | 显示全部楼层
错误来源应该是楼主在使用session之前有了输出动作,检查你的session部分代码吧
发表于 2009-8-4 11:29:28 | 显示全部楼层
你的A.php里面有什么?
发表于 2009-8-4 11:32:39 | 显示全部楼层
再说,我每一个控制器都开了十分钟的缓存的!

还有,不应该叫缓存(Cache),叫缓冲(Buffer)比较合适。
 楼主| 发表于 2009-8-4 11:47:54 | 显示全部楼层
visvoy  大哥,我没有用到session啊!
我在控制器里的也就是一些基本操作。
像赋变量。调用model里的文件查询数据库。

还有,上网站打开页面时,这些错误提示,有一时有,一时没的,
就是说有时网站正常,有时却显示出这些问题出来,好奇怪!
好像是上帝在和我玩game~
发表于 2009-8-4 12:34:46 | 显示全部楼层
这个问题是 BOM 问题,你看看报错说 a.php 第一行有问题,那就是第一行有一个 BOM,
什么是 BOM,本站已经讨论很多次了,可以搜索本站,也可以搜索 google
 楼主| 发表于 2009-8-4 12:58:58 | 显示全部楼层
这个问题是 BOM 问题,你看看报错说 a.php 第一行有问题,那就是第一行有一个 BOM,
什么是 BOM,本站已经讨论很多次了,可以搜索本站,也可以搜索 google ...
Hex 发表于 2009-8-4 12:34



感激涕零啊,Hex大哥,让我亲个!~

本版积分规则