[英]session headers already sent issue
我一直收到以下错误消息。 我的localhost(xampp)上不存在此问题。 当文件在服务器上时,我遇到了这个问题。
警告 :session_start()[function.session-start]:无法发送会话cookie - 已经在/ home / plosta / public_html中发送的输出(/home/plosta/public_html/bloom/Connections/bloom.php:1中的输出) /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);
?>
错误说明了一切,你在第158行有session_start()
,尝试将它添加到你的文件之上 。
在页面顶部开始您的会话。
<?php
//before that noting
session_start();
// Your code here
?>
确保session_start()
必须位于代码的顶部。 将其从第158 行移动到第1行
似乎你包括一些PHP,并确保你的Connections / bloom.php行:1没有线断,白色空间,HTML等等。是的每个人都说你的session_start()移动到行:1但我想他们会帮助你应该将它移到你的所有流程的顶部:1不仅在signin.php中
ob_start(); 使用ob_flush();
把<?php ob_start(); ?>
<?php ob_start(); ?>
文件顶部的signin.php和文件底部的<?php ob_flush();?>
sigin.php
通常,当它显示“已发送标题”时表示您已经启动了“输出缓冲”,这意味着您已经开始向用户发送文本。
如果它是无意的(你的代码头设置不在你的代码头中),请检查一些事情,例如:
您可以尝试使用以下解决方案:
放置代码行<?php ob_start(); ?>
<?php ob_start(); ?>
在你的文件顶部
请检查您的signin.php文件, session_start()
必须位于代码的顶部。 将其从第158行移动到第1行
如果您使用echo or print
打印任何变量/数组,请检查您的代码,请删除它
如果您可以粘贴文件的整个代码,我们将更清楚地为您提供快速的正确解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.