首頁 > 後端開發 > php教程 > 关于使用session_start出现的headersalreadysent错误的解释_PHP教程

关于使用session_start出现的headersalreadysent错误的解释_PHP教程

WBOY
發布: 2016-07-20 11:03:52
原創
929 人瀏覽過

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


echo "testing ... ";
session_start();
?>

输出为
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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445251.htmlTechArticle请看详细的错误程序和输出结果 html ? echo testing ... ; session_start(); ? /html 输出为 testing ... Warning: Cannot send session cookie - headers already sent by (ou...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板