 |
关于使用 session_start 出现的 headers already sent错误的解释 |
热 |
| 关于使用 session_start 出现的 headers already sent错误的解释 |
|
作者:未知 文章来源:网海里拾的贝壳 点击数: 更新时间:2004-8-16 16:25:41  |
请看详细的错误程序和输出结果 <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 |
| 文章录入:admin 责任编辑:admin |
|
上一篇文章: 怎样才能删除数组的最后一个元素?
下一篇文章: 怎样在PHP中通过ADO调用Access数据库和COM程序 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |