2011-08-06 102 views
0

我有一个开头了一个php文件:在session_start警告1

<?php include "header.php"; ?> 

文件的header.php开始时用:

<?php session_start(); 
$login_output = ""; 

if ($_GET['process'] == 'logout') { 
session_destroy(); 
} 

它给了我这样的警告: 警告: session_start()[function.session-start]:无法发送会话缓存限制器 - 已在/ home/clicker/public_html/hstrial中发送的头文件(输出开始于/home/clicker/public_html/hstrial-RBochner/criteria.php:1) -RBochner/criteria.php在线1

我是疯了还是这样说,它不能打印行1,因为它是打印行1?它在所有的工作都很好,但只有一个讨厌的文件。我想我已到处检查空白。

+0

是这个文件的标准.php? – JamesHalsall

+0

请在这里查看我的答案:http://stackoverflow.com/questions/6833186/how-do-i-stop-zf-from-sending-a-empty-character-at-the-ginginning/6833466#6833466并参见如果这能解决你的问题。 –

+2

哇。这是一个新的独特的问题。做得好。 –

回答

2

你不能有<?php session_start(); ?>之前的任何whitespaces运行<?php应在文件criteria.php的第一个字符串;)

1

如果你的文件是Unicode格式,那么它有一个伪无形的Unicode“标记”为前几个字符。

就PHP而言,这是在您的header命令之前的“输出”,并且在header之前必须没有输出。

尝试使源文件不是Unicode。

+0

Unicode的标记和BOM不会影响到这一点! – Timur

+1

哦!我试着将它保存为ANSI,错误消失了! – Michelle

+0

@Timur:Unicode的BOM _绝对影响这个;事实上,80%的关于Stack Overlow的问题 - 已经有_many_ - 以这种方式得到解决。 –

相关问题