首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >警告: session_start():当已发送标头时无法启动会话(.)在第2行

警告: session_start():当已发送标头时无法启动会话(.)在第2行
EN

Stack Overflow用户
提问于 2021-04-27 23:11:43
回答 2查看 7.2K关注 0票数 0

我的代码:

代码语言:javascript
运行
复制
    <?php
    session_start();
    
    $_SESSION["favcolor"] = "green";
    ?>

<html>
    

    
  <head>

    <link rel="stylesheet" href="style.css">
    <meta charset="utf-8">
    <title>Login | NeonBLOX</title>
    
   charset stuff

  </head>

  <body>
    
    <?php
    
       $_SESSION["favcolor"] = "green";
    
    ?>
    
    <div class="ib2">
       top stuff
    </div>
    
    <div class="ib">
        form stuff
    </div>
    


  </body>
</html>

为什么错误警告: session_start():当报头已经发送(.)时不能启动会话在二号线?我正在尝试用我的当前站点测试会话内容,这样我就可以将预置的信息发送到另一个网页,但是它给了我这个错误,甚至在我登录之前。

EN

回答 2

Stack Overflow用户

发布于 2021-04-27 23:21:04

您的PHP代码在session_start();之前打印空格。根据经验,在调用session_start();之前不要进行任何输出。

解决这个问题的方法是删除<?php之前的空白,因为这也将被输出。

代码语言:javascript
运行
复制
<?php
    session_start();
    
    $_SESSION["favcolor"] = "green";
    ?>

<html>
    

    
  <head>

    <link rel="stylesheet" href="style.css">
    <meta charset="utf-8">
    <title>Login | NeonBLOX</title>
    
   charset stuff

  </head>

  <body>
    
    <?php
    
       $_SESSION["favcolor"] = "green";
    
    ?>
    
    <div class="ib2">
       top stuff
    </div>
    
    <div class="ib">
        form stuff
    </div>
    


  </body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2021-04-27 23:25:41

这通常意味着PHP脚本的某些输出已经为当前请求准备(或发送)给客户端。

头在许多编程通信中使用,它们是为即将发生的任何事情准备接收者的一种方法。它们通常包含内容类型、传入数据的字节数以及其他元数据。

在PHP中,它们还可以包含会话数据--会话密钥以及您在其中打包的任何其他内容。为每个响应同时发送一次头。因此,如果您已经发送了标题,上面写着“这个响应没有会话”,那么您就不能随后说“等等,有!”因为报头已经熄灭了。

当您在PHP中启动会话时,它会尝试连接到挂起的标头,以便将会话数据打包到其中,但是如果标头已经熄灭,您将得到错误的Cannot start session when headers already sent

因此,解决方案是在调用该session_start()函数之前确定您的php堆栈在哪里发送标头。请注意,任何打印的空白都很重要!这个小的factoid允许我们再次查看您的代码,并在打开<?php标记之前看到有一个选项卡。这是空白,它启动数据发送,这意味着当您运行任何php时,您的头已经在返回客户端的路上了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67291766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档