会话标头已发送问题

时间:2014-09-15 07:17:31

标签: php session cookies

我一直收到以下错误消息。我的localhost(xampp)上不存在此问题。当文件在服务器上时,我遇到了这个问题。

  

警告:session_start()[function.session-start]:无法发送   会话cookie - 已经发送的标题(输出开始于   /home/plosta/public_html/bloom/Connections/bloom.php:1)in    /home/plosta/public_html/bloom/signin.php 158

这发生在服务器上但不在localhost上

<?php
//bloom.php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_bloom = "localhost";
$database_bloom = "datacenter";
$username_bloom = "root";
$password_bloom = "";
$bloom = mysql_pconnect($hostname_bloom, $username_bloom, $password_bloom) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

7 个答案:

答案 0 :(得分:0)

错误说明了这一点,您在第158行上有session_start(),尝试将其添加到您文件的 top 上。

答案 1 :(得分:0)

在页面顶部开始您的会话。

<?php 
//before that noting
session_start();


// Your code here
?>

答案 2 :(得分:0)

确保session_start()必须位于代码的顶部。将其从第158行移至第1行

答案 3 :(得分:0)

好像你要包含一些php并确保你的Connections / bloom.php行:1没有线路断线,空格,html等等。是的每个人都说你的session_start()移动到行:1但我认为他们应该把它移到你所有流程的顶部:1不仅仅是在signin.php

答案 4 :(得分:0)

<强> ob_start();使用ob_flush();

<?php ob_start(); ?>放在文件signin.php的顶部,并在文件sigin.php底部放置<?php ob_flush();?>

答案 5 :(得分:0)

通常,当它说“#34;标题已经发送&#34;这意味着您已经启动了&#34;输出缓冲&#34;,这意味着您已经开始向用户发送文本。

如果它是无意的(您不在代码标头设置中),请检查一些事项,例如:

  • &#34;之前的一行或一个字符。 ?PHP的&#34;你的一个文件
  • 你忘记了代码中的某个回音。

答案 6 :(得分:0)

您可以尝试使用以下解决方案:

  1. 将代码行<?php ob_start(); ?>放在您的文件顶部

  2. 检查您的signin.php文件,session_start()必须位于代码的顶部。将其从第158行移至第1行

  3. 如果您使用echo or print打印任何变量/数组,请检查您的代码,请删除

  4. 如果您可以粘贴文件的整个代码,我们会更清楚地为您提供快速的正确解决方案。