找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 php教程 查看内容

关于使用session_start出现的headers

作者:模板之家 2014-6-18 09:01 14059人关注

Warning:Cannotsendsessioncookie-headersalreadysentby(outputstartedatF:php2000testphp:2)inF:php2000testphponline4Warning:Cannotsendsessioncachelimiter-headersalr,关于使用session_start出现的headers

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

  1.  
  2. echo "testing ... "
  3. session_start(); 
  4. ?> 
  5.  

输出为

  1. testing ...  
  2. Warning: Cannot send session cookie - headers already sent by (output started at F:php2000test.php:2) in F:php2000test.php on line 4 
  3. 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 里面才行,所以造成这个错误的发生,我们修改程序为:

  1. echo "testing ... "
  2. session_start(); 
  3. ?> 

同样错误,因为 echo 已经输出了,我们修改程序为

  1. $i=1; 
  2. session_start(); 
  3. ?> 

运行正确表明在session_start的前面可以有计算语句,但是不能有输出语句,我尝试过修改:

  1. session.use_cookies = 0 ; whether to use cookies 

但是没有成功,希望知道答案的朋友通知我,如何去掉cookie方式的session。


路过

雷人

握手

鲜花

鸡蛋
原作者: 互联网 来自: 网络收集

全部回复(0)