ThinkPHP的cookie和会话冲突的原因,可以不使用解决方案
投票时,在不久的将来,一个网站,在ThinkPHP cookie和会话冲突导致cookie不能使用。本网站是基于ThinkPHP框架,一个页面显示大量的图片,需要相应的投票,下面的每个画面,通过限制IP地址限制游客在一定时间内,更多的图片投票,但每一幅画只能投票一次,开始使用IP存储在数据库中,然后对会话使用存储的提高,IP服务文件,但生成SessionID cookie存储在本地,根据会话的ThinkPHP手动操作,但在cookie的一代,但在本地计算机上找不到饼干的文字,原本以为是本地计算机有限公司生产的饼干,但结果来看,有测试没有限制,所以他设立了一个单独的PHP文件,测试生成化饼干,没问题,在localcookie文本中发现的,所以在网上找到以下内容。为了解决这个问题,该setcookie()函数是用来设置cookie,并取得了预期的效果。
解决方案如下:
找到的配置文件,找到一个项目:output_buffering更改其值从原来的关闭,并重新启动Apache就OK了。
也有许多类似的问题:
有时会发现本地运行的原始文件没有问题。在服务器上进行测试时,它提示本地区域没有错误:警告:无法修改已发送的标头信息头。
这样的声明,很明显,是造成setcookie。下面的解释在互联网上被发现:cookie本身在应用中有一些限制,例如:
1。呼叫setcookie叙事必须放在标签
2。在调用setcookie,你不能使用回声
三.直到网页加载,Cookie将在节目中出现
的4.setcookie函数必须被发送之前的任何数据输出到浏览器。
基于上述的局限性,我们经常会遇到不确定的指标,不能修改标题信息标题已经被发送时setcookie()函数。为了解决这个问题,不能修改标题信息标题已经发送的数据输出到浏览器之前推迟产生cookie的方式不对,所以你可以添加ob_start()函数对该程序前,问题是可以解决的。但如果你想添加ob_start(),这是不可行的,程序结束后,似乎有点沮丧,要改变这一点。当我发现这个错误,我是如何我不暗示这个问题的思考。我认为的配置是不同的。所以,请看下面的句子输出开始…这意味着它在另一个地方setcookie输出之前,所以找到文件下面的输出开始,最后发现,第一行是空白。