【发布时间】:2014-06-04 23:24:34
【问题描述】:
我在这里How to fix "Headers already sent" error in PHP 阅读了答案,但这并不能解决我的错误。
我不明白,session_start() 是我在文件中调用的第一件事,我使用的是没有 BOM 编码的 UTF-8。但我仍然收到这个 php 警告。
错误:
PHP Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/feyzprod/public_html/nearby/register.php:1) in /home/feyzprod/public_html/nearby/register.php on line 1
我的文件编码是
Encoding is UTF-8 without BOM
代码:
<?php session_start();
require_once('bdservice.php');
require_once('script.php');
$bd = new BDService();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NearBy Me : Courtier immobiliers</title>
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="css/ico.css" />
<link rel="stylesheet" href="https://formoid.net/forms/30/17477/formoid-default-skyblue.css" type="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://formoid.net/lib/iframe.js"></script>
<link rel="stylesheet" href="https://formoid.net/lib/form.css" type="text/css" />
<script>
</script>
</head>
<body>
<div class='bar'>
<div class='header'>
<div id='left'></div>
<div id='right'>
<div style='margin-top:35px;'>
<span><a href='#'>Français</a> | <a href='#'>Anglais</a></span><br/><br/>
<?php
if(isset($_SESSION['authentification']))
{
echo "<a href='profil.php'><button class=\"large green button\">Profil</button></a>";
}
else
{
echo "<a href='connexion.php'><button class=\"large green button\">Login</button></a>";
}
?>
</div>
</div>
<div style='clear:both;'></div>
</div>
</div>
<div class='inscription'>
<img src='images/inscription.png' alt='inscription' title='inscription' /><br/><br/>
<?php
if(!isset($_POST['Valider']))
{
【问题讨论】:
-
您只能在一个文件中启动一次会话!你在 bdservice.php 或 script.php 上没有另一个
session_start()吗? -
bdservice.php 和 script.php 没有 session_start()
-
尝试在
session_start();之前使用ob_start(); -
我仍然收到同样的警告
-
如果有
session.auto_start = 1,请检查您的php.ini,如果有,请更改为session.auto_start = 0。