在php.ini文件里修改以下参数:
session.use_cookies = 1 // sessionid在客户端采用的存储方式,置1代表使用cookie记录客户端的sessionid,同时,$_COOKIE变量里才会有$_COOKIE[‘PHPSESSIONID’]这个元素存在
output_buffering = 4096 // 限制输出缓冲区的最大值
implicit_flush = Off
我们遇到的问题是:
output_buffering = Off
;output_buffering = 4096;
修改为:
output_buffering = 4096;
即可。
这儿是限定PHP往浏览器输出httpd头的,否则可以打印出来自同域名的COOKIE,$_COOKIE,是因为session.use_cookies = 1,而这台服务器设置Cookie会失效,是因为:output_buffering = Off,所以会头没有输出,Cookie浏览器收不到导致失效。
session.use_cookies = 1 // sessionid在客户端采用的存储方式,置1代表使用cookie记录客户端的sessionid,同时,$_COOKIE变量里才会有$_COOKIE[‘PHPSESSIONID’]这个元素存在
output_buffering = 4096 // 限制输出缓冲区的最大值
implicit_flush = Off
我们遇到的问题是:
output_buffering = Off
;output_buffering = 4096;
修改为:
output_buffering = 4096;
即可。
这儿是限定PHP往浏览器输出httpd头的,否则可以打印出来自同域名的COOKIE,$_COOKIE,是因为session.use_cookies = 1,而这台服务器设置Cookie会失效,是因为:output_buffering = Off,所以会头没有输出,Cookie浏览器收不到导致失效。
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/4360/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2011-6-10 19:23
评论列表