作者ails (爱尔斯(公的))
看板PHP
标题Re: [请益] headers already sent (关於php includ …
时间Sat Sep 9 05:26:45 2006
※ 引述《previa (Southern Cross)》之铭言:
: 小弟习惯写网页 在网页下方回出现
: http://163.23.225.25/chimera/inc/footer.inc
: 这类的东西
: 之前都是在php最下面用内用require 这个inc都ok
: 不过最近用ut8写 却会出现
: Warning: session_start() .... headers already sent by
: 本来以为是vim会对inc加BOM标记引起的 可是後来发现又不是
: 然後又找到这篇 http://www.mail-archive.com/[email protected]/msg05618.html
: 似乎是如他所说 多重include的问题
: 我不知道大家有遇过类似的问题吗?
: 有的话大家怎麽解决阿?? 或是如果要做出一样的在底部一样效果的
: 话?一般都怎麽写阿 ?
: 目前不知道原因现在只好先用@了 = = ||
治本的方法:
检查一下你的phpinfo()
找出这个值 output_buffering "On"
如果是off想办法让他on起来 更改apache设定 还是php.ini我忘了
接着在每次程式的最前面 前加上
ob_start();
例如加在index.php
以後你就永远不必烦恼会动到http header的相关到底要放在程式的那边了
因为全部的result会等你的程式跑玩才会response给browser
你的问题发生原因:
session_start() 因为要塞cookie(属於http header的一部份)
所以在这个function之前不能有塞完header又echo(包含在<?php?>之外的和字元)
之後又有动到header的情况发生
详细情形你可以用
wget -d http://任何网站
看一次你就了解了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.166.207.124
1F:推 previa:感谢:) 09/10 16:50