我在这里阅读答案How to fix "Headers already sent" error in PHP但这不能解决我的错误。PHP警告:session_start():无法发送会话缓存限制器 - 头已发送
我不明白,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() – seb
尝试使用'ob_start();''session_start();' –