欢迎光临
我们一直在努力

关于使用 session_start 出现的 headers already sent错误的解释-PHP教程,PHP应用

建站超值云服务器,限时71元/月

请看详细的错误程序和输出结果

<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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 关于使用 session_start 出现的 headers already sent错误的解释-PHP教程,PHP应用
分享到: 更多 (0)

相关推荐

  • 暂无文章