可能重复:
PHP 已发送的标头
我有 php 版本 5.4.4
我有这个代码
echo "a";
session_start();
$_SESSION['login'] = "Jhon";
echo $_SESSION['login'];
这有效,为什么?错误在哪里:“标头已发送....” ???
可能重复:
PHP 已发送的标头
我有 php 版本 5.4.4
我有这个代码
echo "a";
session_start();
$_SESSION['login'] = "Jhon";
echo $_SESSION['login'];
这有效,为什么?错误在哪里:“标头已发送....” ???
简而言之,输出缓冲已打开,这将确保您的脚本能够像这样工作。但不建议依赖它,因为默认情况下其他服务器可能没有输出缓冲。如果您希望将其关闭(我会),请将output_buffering
指令更改为0
php.ini 中的。
一旦输出发送到浏览器(甚至是空格),您就不能向
浏览器发送任何标头信息。当您启动一个新会话(使用 session_start)
时,一个会话 cookie 从服务器发送到浏览器,这个 cookie
基本上是封装的在响应头中。
您可以使用 php 函数 headers_sent() 检查是否已发送标头
尽管您的代码对我来说效果很好,但是您可以尝试在 echo 语句之前使用 session_start() 。