文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于使用 session_start 出现的 headers already sent错误的解释

关于使用 session_start 出现的 headers already sent错误的解释

时间:2007-02-17  来源:PHP爱好者

请看详细的错误程序和输出结果
<HTML>
<?
echo "testing ... ";
session_start();
?>
</HTML>

输出为
testing ...
Warning: Cannot send session cookie - headers already sent by (output started at F:PHP2000test.PHP:2) in F:PHP2000test.PHP on line 4

Warning: Cannot send session cache limiter - headers already sent (output started at F:PHP2000test.PHP:2) in F:PHP2000test.PHP on line 4

分析:
主要原因,PHP.ini里有关于session 的定义,默认是使用 cookie
[session]
session.use_cookies = 1 ; whether to use cookies

这句表明使用 cookies 存储session 而 cookies的设置必须在正式 htm 之前,也就是只能在 header 里面才行,所以造成这个错误的发生

我们修改程序为
<?
echo "testing ... ";
session_start();
?>
同样错误,因为 echo 已经输出了

我们修改程序为
<?
$i=1;
session_start();
?>
运行正确表明在session_start的前面可以有计算语句,但是不能有输出语句

我尝试过修改
session.use_cookies = 0 ; whether to use cookies
但是没有成功,希望知道答案的朋友通知我,如何去掉cookie方式的 session
php爱好者站 http://www.phpfans.net 网页制作|网站建设|数据采集.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载