PHP会话奇怪的错误

问题描述:

可能重复:
PHP session start “Cannot send session cookie and cache limiter”PHP会话奇怪的错误

所以我一直在开发在我的本地,我上传到我的实际Web服务器最后,一直得到消息说:

Warning:session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的头文件

即使session_start()一直名列前茅,没有空白,等...

所以我做了一些google搜索,并得到它正常工作的唯一办法就是把这个在最高层:

ob_start("ob_gzhandler"); 

这究竟是干什么的?这与我的错误有关吗?

+0

本地我的登录工作脚本工作正常,等等...这个主机gator服务器真的让我把这个ob_start(“ob_gzhandler”);无论我在哪里使用会议,都很烦人。有一种不同的方式。 –

+0

坦率地说,您只是省略了错误消息的有趣部分:导致此错误的代码的位置。 – Gumbo

在文档的开始

检查BOM,这是什么可能导致session_start();(大多数文本编辑器有一种方式来保存您的文档,而无需BOM前的输出;在记事本++你去Encoding->编码为UTF-8没有BOM)。

+0

eclipse的任何想法(与集成的aptana studio) –

+1

@Ryan Frank:Eclipse通常存储没有BOM。用另一个名称保存文件,删除旧文件,将新文件重命名为旧文件名。 – hakre

+0

@ RyanFrank:尝试@hakre所说的。 Eclipse应该在没有BOM的情况下存储它,但有时您会加载另一个放置在BOM中的文本编辑器保存的项目。 –

,并不断获得的消息说:警告:在session_start()[function.session启动]:无法发送会话缓存限制器 - 头已经发出已

这是你的第一个故障。您刚刚省略了错误消息最重要的部分,她说,问题代码在哪里。你是否尝试阅读它?

并且让它正常工作的唯一方法是把它放在最上面:ob_start(“ob_gzhandler”);

这是你的第二个错。 ob_start不是唯一的,也不是要走的路。

唯一的妥善解决是

  1. 要阅读错误消息并找到输出真正开始的地方。
  2. 修复您的代码,使其在任何输出之前发送HTTP标头。
  3. 检查文件开头的可能的字节顺序标记并将其删除。

PHP会话奇怪的错误

这是你第三次故障。人们不能称之为“奇怪”的错误已经被提出了数十亿次。我宁愿把它称为“非常熟悉和无聊”的。

+0

警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 头文件已发送(输出开始于/home/ryan/public_html/demo/classes/Auth.php:1)/ home/gerbera /第3行public_html/demo/classes/Auth.php我直接读取Auth.php并直接运行该文件,并在