【问题标题】:Basic PHP program throwing errors. session_start() cannot send session cookie [duplicate]基本的 PHP 程序抛出错误。 session_start() 无法发送会话 cookie [重复]
【发布时间】:2015-05-04 02:54:21
【问题描述】:

这是我的简单 PHP 程序:

<HTML>
<HEAD>
<TITLE>Lookout World!</TITLE>
</HEAD>
<BODY>
<?php
   session_start();
   echo "Hello, world!";
?>
</BODY>
</HTML>

当我通过 Apache 2.4 Web 服务器运行这个 PHP 程序时,它会抛出以下错误:

警告:session_start():无法发送会话 cookie - 标头已由第 8 行的 C:\Apache24\htdocs\Hello.php 中的(输出开始于 C:\Apache24\htdocs\Hello.php:6)发送

警告:session_start():无法发送会话缓存限制器 - 第 8 行 C:\Apache24\htdocs\Hello.php 中的标头已发送(输出开始于 C:\Apache24\htdocs\Hello.php:6) 你好世界!

奇怪的是,如果你只有这个:

<?php
   session_start();
   echo "Hello, world!";
?>

... 程序运行正常,没有错误。 但是,对于我正在开发的软件,我们需要将 PHP 嵌入到 HTML 文件中。 (对于一个学校项目来说)。那么,我该如何解决这些问题并摆脱这些错误。因为在我们学校项目中,也出现了这些错误,无法登录我们学校项目的PHP程序。

【问题讨论】:

  • 您发布的代码有效。这是您正在寻找的答案,不是吗。您还没有发布不起作用的代码。我只能假设你在 session_start() 之前输出了一些东西,这正是错误所说的你所做的......所以不要那样做。
  • 对不起,伙计,我在问题中输入的代码由于某种原因没有显示出来......

标签: php session caching cookies


【解决方案1】:

只需将 session_start() 调用移到顶部即可。

<?php
   session_start();
?>
<HTML>
<HEAD>
<TITLE>Lookout World!</TITLE>
</HEAD>
<BODY>
<?php
   echo "Hello, world!";
?>
</BODY>
</HTML>

注意:要使用基于 cookie 的会话,必须调用 session_start() 在向浏览器输出任何内容之前。

http://php.net/manual/en/function.session-start.php

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2014-03-22
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2015-06-29
    • 2014-02-26
    相关资源
    最近更新 更多