1

如图所示,我收到以下警告消息,我认为这是由于添加了额外的会话变量(session_start),所以我想要的是我需要隐藏该警告。 在此处输入图像描述

实际上,如果我在开始时没有给出会话来获取用户会话,但如果没有给出会话,则没有设置会话,但是在添加时会发出警告。可能是什么问题?

代码:

    <?php
    session_start();
    include("connect/config1.php");
?>
4

2 回答 2

4

您必须放置session_start()在文档的开头。在此调用之前必须没有输出。

隐藏消息不会解决您的问题。

如果您只想隐藏警告:

<?php
ini_set('error_reporting', 0);
ini_set('display_errors', 0);
?>

查看您的 fullsearch.php,开头可能有一个空行(之前<?php)。去掉它。

于 2012-09-05T12:20:20.117 回答
2

永远不要试图在开发环境中隐藏警告:它们在寻找错误方面非常有用。例如,如果没有这个特别的警告,您可能永远不会知道为什么实际上没有发送与会话相关的标头(换句话说,为什么会话不起作用)。

消除显示警告的原因。这个特殊的警告很可能是由在您可信赖的<?php代码分隔符前面爬行的恶意空格引起的。这意味着服务器已经开始向客户端输出一些东西,但是您希望他们回到发送标头...

因此,请检查您的文件并确保在调用之前没有回显任何内容。这个讨论可能会很有帮助。)session_start()

更新:

实际上,您在问题中引用的代码非常清楚:

   <?php
    session_start();
    include("connect/config1.php");
?>

看,<?php这里前面是空格。这意味着服务器将实际发送这些符号(在 HTTP 响应正文中),然后才开始解析脚本本身。但随后它将被指示发送头球- 并因这个警告而犯规。

解决方案很简单:删除空格。这样不仅警告会消失,而且会话也将开始工作。)

于 2012-09-05T12:24:26.607 回答