存档

‘未分类’ 分类的存档

如何解决PHP的session cookie错误

2009年8月22日

废话少说,如果你遇到这个错误,Cannot add header information - headers already sent in……  可参阅此文。

发生原因:

根据错误描述,很显然是由于在http的信息头发送出去后,设置了Cookie,这是不对的。因为Cookie在http发送时会写入到它的信息头部,既然发送出去了,当然就不能再设置Cookie了,所以session_start()调用失败。

但你可能说你在某种环境下却可以正常运行,又是为什么呢?这与你的php.ini设置有关。你可能对你的php.ini做了一下设置:

  1. 你关闭了php的错误或警告报告,即error_reporting (E_ALL ^ E_WARNING);这种情况下其实是有报警的,只是没有显示出来而已。
  2. 你打开了输出缓存的开关,即output_buffering = 1;当设置为true时,在脚本发送输出时,PHP并不发送HTTP header。相反,它将此输出通过管道(pipe)输入到动态增加的缓存中,等所有脚本都解析完成后再发送,所以你可以在此期间随意设置session,就不会出现问题了。

解决办法:

知道了原因,就比较容易解决了。你可以有以下的解决办法:

  1. seesion_start()一定要用在所有html内容输出之前,简单的说,就是要在<html></html>标签之前写上sessiong_start();
  2. 把php.ini的output_buffering设置为true;
  3. 如果无法修改php.ini,你可以通过php函数ob_start()来设置是否打开输出缓存开关。与此相关的函数几个函数有:

    ob_start():启用output buffering机制。 Output buffering支持多层次 — 例如,可以多次调用 ob_start() 函数。

    ob_end_flush():发送output buffer(输出缓冲)并禁用output buffering机制。

    ob_end_clean():清除output buffer但不发送,并禁用output buffering。

    ob_get_contents():将当前的output buffer返回成一个字符串。允许你处理脚本发出的任何输出。

转载请注明出处:Zigzag@悠久博客

未分类

要不是那时你爱着我

2009年3月23日

来院里将近三年,基本不知太阳是怎么升起来的,晃晃悠悠地过日子,从不担心青春是怎么没的,以为是公共厕所的卫生纸,用完了还有,用完了还有。双休日加班,基本如同哈雷彗星撞地球,有可能,但还没发生过。而这几天却绷紧了神经,但并不是写了各种各样的文档,而是把一个文档写了一遍又一遍。这花费了双休日大半的时间和心情,感到了前所未有的倦意和紧张。真正难完成的事情不是因为有很多很多要做的,而是只有一个事情,你却不知道如何去做好。

师兄的兢兢业业令人钦佩,独自揽下了大部分的工作,我们虽然耗在其中,却不知道标准到底是什么,一遍又一遍的修正,依然不能让他满意。相比于师兄的废寝忘食,自残当然不必,自惭形秽还是非常有必要的。如果一个事情没有标准标志它的完美,做出来一定会让人感到棘手。

从首钢出差三周,早上起来的太早,晚上睡得太晚,支持不住了。上周小胜打电话说有时间周末出去叫春和踏春,我看时间不够,每周都安排的都很紧张。

————————酒醉饭饱的分界线——————————————

终于纠集齐了四个人,一起出去吃了顿饭,聊的太high,一转头才发现只剩下俺们这一桌还在扯淡,饭店都快打烊了。昨天和翠翠去逛花卉世界,有大师在场,让我见到了不少美丽的花花和美丽的花花姑娘,也知道了很多花儿的名字。顺便买了两盆花,送给两个姑娘,一人一盆,希望在我出差的日子能让它们花繁叶茂。同学们,我们相处的日子不多了矣。

明日继续出差,南下到湖南,想必那里一定春暖花开的更厉害一些,今日姑且作罢。

————————呼应标题的分界线——————————————

上周出差回来,半夜三更还没睡,起来准备上个厕所,忽闻厕所里飘出一句爱情用语:

——要不是那时你爱着我,……

一师弟正打电话发飙,我被华丽丽地雷倒了。

全文完。

未分类

2009同学聚会安排

2009年1月18日

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

光阴似箭,岁月如梭,时光飞驰,韶华易逝,弹指一挥间,十年过去了,这意味着——亲爱的童鞋们,偶们已经同窗十年矣。鉴于以后同居同聚的机会越来越少,大家各自有了自己的家庭,事业,回老家的时间将会越来越短,所以这次聚会是非常必要的,意义是非常重大的,希望各位老同学能够尽量参加。

时间:正月初四上午10点到11点。
地点:老二中门口。
人物:98届高三一班的童鞋们,欢迎拖老携幼。
事件:一,聚会;二,喝喜酒。

这个聚会早前已经开始酝酿,但是日期的确定是个很大的问题,征询了一些人的意见,初步定在正月初四,如果在此日有更多的人不能赴约参加,可以重新修改,这不是最后的定期

腊月二十六,海瑞和吴磊童鞋双双大喜,在此先祝福这两对新人:

喜结良缘、百年好合、珠联壁合、比翼高飞、连枝相依、心心相印、同心永结、爱
海无际、情天万里、永浴爱河、恩意如岳、知音百年、爱心永恒、白首偕老、天长
地久。

请留意以上词语,以备后用。相信有很多人不能去喝喜酒,所以跟海瑞联系过,可以在初四之前安排一次喜宴。届时同学聚会将会演变成喝喜酒,一举两得,一石二鸟,善莫大焉

具体活动:

if 同学聚会
then 先在二中门口集合;等待尽可能多的人;
then 集体留影纪念;
then 集体老二中上厕所,此举是为纪念偶们以前的食堂变成了现在的厕所,它玷污了我们的记忆,偶们用同样的方式去玷污它。
then 聚餐,喝酒,游戏。
then 沿河道散步,或去老地方缅怀一下。
then 继续散步。
if 天黑and有店营业 then KTV
else 我们已是成熟的成年人了,可以选择其他成人活动。
end
else 喝喜酒
then 直接跳转到海瑞处理。
end

海瑞新人新照Express: 阅读全文…

未分类