关于使用 session_start 出现的 headers already sent错误(请求高手帮助)

yxflove 2005-10-24 04:44:09
在PHPE中,http://www.phpe.net/faq/56.shtml,不知道有没有解决的??

我也遇到了这样的问题,是不是与PHP的版本或PHP.ini的设置有关?


用的万网的虚拟主机升级后就出现了这样的问题。news.php中用了header();

Warning: Cannot modify header information - headers already sent by (output started at /home/uk5508845/htdocs/inc/function.inc.php:398) in /home/uk5508845/htdocs/news.php on line 200

在用之前并没有代码输出!高手不吝赐教!
...全文
455 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolstr 2005-10-25
  • 打赏
  • 举报
回复
怎么就没有人相信俺呢?

------------------------------------------------------
回复人: coolstr(占卜師oοΟ) ( ) 信誉:105 2005-10-24 16:58:00 得分: 0

把头部改为:
<?php
session_start();
ob_start();

.........
?>

这样即可解决。

--------------------------------------------------------


yxflove 2005-10-25
  • 打赏
  • 举报
回复
包括 phpversion();
我想应该是4.3.11以下版本!

yxflove 2005-10-25
  • 打赏
  • 举报
回复
等等……升级前就可以吗?什么版本的php可以输出回车后还能输出header的??


因为是虚拟主机,屏蔽了phpinfo()等等函数!
iasky 2005-10-25
  • 打赏
  • 举报
回复
你把session_start放在最前面
Gdj 2005-10-25
  • 打赏
  • 举报
回复
等等……升级前就可以吗?什么版本的php可以输出回车后还能输出header的??
yxflove 2005-10-25
  • 打赏
  • 举报
回复
Warning: Cannot modify header information - headers already sent by (output started at /home/uk5508845/htdocs/inc/Template.inc.php:187)
(就是这一行= >print $this->parse($target,$handle,$append);)
in /home/uk5508845/htdocs/news.php on line 200

这是类函数不会有空格和输出啊。

function pparse($target, $handle, $append = false)
{
print $this->parse($target, $handle, $append);
return false;
}
yxflove 2005-10-25
  • 打赏
  • 举报
回复

Warning: Cannot modify header information - headers already sent by (output started at /home/uk5508845/htdocs/inc/Template.inc.php:187)
(就是这一行=>print $this->parse($target,$handle,$append);)
in /home/uk3006556/htdocs/news.php on line 200
xuzuning 2005-10-25
  • 打赏
  • 举报
回复
print $this->parse($target, $handle, $append); <=现在说这一行有错误!

错误信息
coolstr 2005-10-25
  • 打赏
  • 举报
回复
Warning: Cannot modify header information - headers already sent by (output started at /home/uk5508845/htdocs/inc/Template.inc.php:187)
(就是这一行= >print $this->parse($target,$handle,$append);)
in /home/uk5508845/htdocs/news.php on line 200
---------------------------------------------------------
function pparse($target, $handle, $append = false)
{
print $this->parse($target, $handle, $append);《=这儿为什么会出错???
return false;
}
=====================================================================
print $this->parse($target, $handle, $append);《=这儿为什么会出错???
这个不是这里出错,这里执行的print,当然就会有输出,也就理所当然会出错了。
解决办法:
1、你的header()必须写在 $tpl->pparse("output","myindex"); 这一句前面。
2、在程序最开头加上 ob_start(); 这一句。
yxflove 2005-10-25
  • 打赏
  • 举报
回复
程序头先前本来没有加session_start();
现在加上
<?php
session_start();
ob_start();

.........
?>
我现在想知道的是
function pparse($target, $handle, $append = false)
{
print $this->parse($target, $handle, $append);《=这儿为什么会出错???
return false;
}

请求xuzuning(唠叨)!!!

gu1dai 2005-10-24
  • 打赏
  • 举报
回复
在header使用之前,绝对不允许有任何输出。
dreamasp 2005-10-24
  • 打赏
  • 举报
回复
为什么不把参数设全呢?
yxflove 2005-10-24
  • 打赏
  • 举报
回复
function.inc.php 的398行处(应该是结束处)有回车符 是有个回车符,我都查了几次,这次查出来了。

现在文件:Template.inc.php中有问题:

function pparse($target, $handle, $append = false)
{
print $this->parse($target, $handle, $append); <=现在说这一行有错误!
return false;
}
news.php中用了$tpl->pparse("output","myindex");
coolstr 2005-10-24
  • 打赏
  • 举报
回复
把头部改为:
<?php
session_start();
ob_start();

.........
?>

这样即可解决。
xuzuning 2005-10-24
  • 打赏
  • 举报
回复
function.inc.php 的398行处(应该是结束处)有回车符
yxflove 2005-10-24
  • 打赏
  • 举报
回复
是啊,该如何解决呢??
Gdj 2005-10-24
  • 打赏
  • 举报
回复
升级后出现的……
好象结论很明显吧……

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧