关于使用session_start 出现的headers
请看详细的错误程序和输出结果
<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。
查看更多关于关于使用session_start 出现的headers - php会话的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29756