Chinaunix首页 | 论坛 | 博客
  • 博客访问: 908914
  • 博文数量: 436
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -103
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-01 09:48
个人简介

爱生活,爱IT

文章分类

全部博文(436)

文章存档

2015年(1)

2014年(2)

2013年(6)

2011年(39)

2010年(176)

2009年(30)

2008年(28)

2007年(54)

2006年(91)

2005年(9)

分类: 系统运维

2006-09-15 13:32:33

这些在做一个项目,其实有涉及到PHP,我在公司现在的web服务器(APACHE 2.X+PHP 4.3.X)上应用,却怎么也无法使用.提示如下一:"Warning: Cannot modify header information - headers already sent by (output started at /usr/local/apache/htdocs/macallow/authentication.inc: 1) in usr/local/apache/htdocs/macallow/checklogin.php on line 9"

这是一个很典型的问题。

a,首先确认php.ini的一些设定如:

session.auto_start = 1    // 0 为不自动打开,请设为1

session.save_path= /tmp   //对此目录是否有写权限

b,如果上述都确认没问题,那么请检查authentication.inc这个文件:

开头,以?>结尾,前和?>后不能有其他字符。具体到上面的例子,很明显,提示信息说authentication.inc的第一行就开始了html输出,这有可能是第一行的部分前面被加上的其他字符,比如空格一类的.---有些程序会使用设置一个HTTP头。由于HTTP头必须在html代码输出之前设置好,否则html代码已经开始往客户端发送了,HTTP也就已经发送过了,没法追回来重新设置了。

提示如下二:

"Warning: Cannot modify header information - headers already sent by (output started at /usr/local/apache/htdocs/macallow/authentication.inc: 26)in usr/local/apache/htdocs/macallow/checklogin.php on line 9"

在这里,因为authentication.inc的26行根本不是末行,最末行为?>,并确认无其他字符.所以应该检查其它,我检查也许多,终于从网上查到下面内容:

把php.ini中output_buffering = off改为output_buffering = on就行了。

 

精典收藏:SQL Server 2008 集群+SAN集成方案:
  • 精典收藏:中小型IT机房UPS不间断电力解决方案:
  • 阅读(2650) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~