【问题标题】:Warning: session_start(): Cannot send session cache limiter - headers already sent警告:session_start():无法发送会话缓存限制器 - 标头已发送
【发布时间】:2016-05-28 19:01:36
【问题描述】:

我遇到了一个非常常见的错误。

警告:session_start(): 无法发送会话 cookie - 标头已由 /home/sabarspinmatic/public_html/testing/index.php:1 中的 /home/sabarspinmatic/public_html/testing/index.php 发送第 1 行

但奇怪的是我只有一个 php 文件,其中只有 1 行 session_start()。

PHP代码是:

<? session_start() ?>

有谁知道我为什么会收到这个错误。我检查了源代码及其显示&lt;br /&gt;。我不知道为什么它显示这个标签。

检查错误的网址是:http://www.sabarspinmatic.com/testing/

//第 2 部分 我只是使用单个文件 index.php 而不使用 .htaccess 并且只有 l 行代码。我尝试将 php 放在标签的开头,但它不起作用。

【问题讨论】:

  • 请显示您链接到的页面的完整代码,您上面的不是它。我从一行代码中得到两个错误。
  • 你不使用 URL 重写或类似的东西吗?似乎您共享的代码不是真正执行的代码。
  • 您的标头已经发送,因此您无法使用 session_start() 对其进行修改。 index.php 是否仅包含 session_start() 并且它必须是您调用的第一件事..我认为这不是某个地方的 include() 的一部分.. ?
  • 还要确保在文件开始之前没有 BOM(字节顺序标记)。因此,如果您的文件已保存为 UTF-8(具有 BOM),请将其更改为 ANSI .. BOM 将在您的 session_start 之前发送,并且当您在编辑器中打开文件时您看不到它..(参见之前的帖子我的:stackoverflow.com/questions/32603736/…)
  • 您现在需要了解的有关您的问题及其原因的所有信息:stackoverflow.com/questions/8028957/… .. 没有您提供的更多信息,恐怕您只能得到这些信息。

标签: php session-cookies


【解决方案1】:

首先,我建议您使用正确的起始标记 &lt;?php,只是为了代码的可读性和可移植性 - 并非所有 Web 服务器都配置为支持较短的版本 &lt;?

然后确保&lt;?php session_start() ... 之前没有空格。还有一些编辑器(比如 Windows 记事本)倾向于在文件的开头插入一些不可见的垃圾——所以我建议你以十六进制模式打开文件,看看&lt;?php ... 之前是否真的没有字符。例如,可能存在不可见的 UTF-8 BOM 字符。

最后但同样重要的是,在命令末尾使用分号 ; - 无论它是代码块中的唯一命令,这都是最佳实践。

【讨论】:

    【解决方案2】:

    出现上述问题的原因有两个。 1) 可能在包含文件 session_start() 中已经写入。 2) 可能是你在代码中间使用了 session_start() 标签。它应该写在页面的第一行。

    【讨论】:

    • 正如您从错误消息中看到的那样,它是第 1 行 - 这两种情况都不是您所描述的。
    【解决方案3】:

    第一个短标签是deprecated by php

    使用

    <?php   ?>
    

    无处不在,而不是

    <?  ?>
    

    这也是你的整个页面吗?文件中的第一个文本之前是否有空格或一行

    【讨论】:

      【解决方案4】:

      根据我的经验,删除代码中的所有空格可以解决问题。特别是如果您之前有空格

      这将导致错误:

      ..whitespace..<?php
      

      去掉空格就解决了问题

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题...这是因为文件开头的字节顺序标记 (BOM) EFBBBF。使用任何十六进制编辑器从文件中删除这些字符,它应该可以工作。

        【讨论】:

          猜你喜欢
          • 2014-06-04
          • 2018-01-29
          • 2016-12-14
          • 2012-05-23
          • 2013-09-11
          • 2020-07-02
          • 2011-11-14
          • 1970-01-01
          • 2017-08-29
          相关资源
          最近更新 更多