php:session_start()错误

时间:2010-04-08 22:50:21

标签: php

我有一个文件,它启动<?php session_start();?>,并返回错误

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp2\htdocs\index.php:1) in C:\xampp2\htdocs\index.php  on line 3
现在看一看,无论如何我无法理解 当我将我的文件的所有内容复制到另一个文件时,它开始工作。 有人可以解释它是如何发生的。 感谢

更新

我没有任何空格,至少我看不到它们

4 个答案:

答案 0 :(得分:5)

您的文件顶部附近可能有一些空白区域。

答案 1 :(得分:4)

您的<?php标记之外可能有一些空格。 外部的任何内容都会发送到客户端(包括空格,制表符,换行符和回车符),一旦发送了内容,标题就不能。开始会话涉及发送标题(用于cookie)。

请务必检查包含或要求包含session_start()的文件的所有文件。错误消息中的output started at C:\xampp2\htdocs\index.php:1会告诉您确切的位置(1是行号)。

修改

再次查看您的错误消息,您将在第3行调用session_start()。因此,如果您在第3行以<?php开头,则您有两个换行符和/或回车符然后。请注意,根据文件编码,操作系统等,这些可能在文本编辑器中不可见。当您将代码复制到新文件中时,这些可能会被删除。

答案 2 :(得分:1)

确保您没有使用字节顺序标记(小/大端)保存文件。

答案 3 :(得分:1)

使用记事本++检查脚本并显示所有字符。

或者您可能希望删除第一行,并确保<?php位于最顶层。