session_start通知它已经启动。

时间:2012-02-28 15:57:58

标签: php session

我有一个启动会话的php文件,后面是一些html。后来我使用include "some_file.php"包含了另一个文件。 some_file.php有php和mysql交互,用于填充表。现在我也在some_file.php中启动一个会话,因为我需要访问会话变量。但是我认为通过使用include我将不必再次开始会话。但是在执行此操作时,我在some_file.php中收到错误说明未定义的会话变量,并且通过使用它,我收到通知说 Notice: A session had already been started - ignoring session_start() in some_file.php/some_line

4 个答案:

答案 0 :(得分:7)

如果您无法确保会话始终开始,则必须检查其是否已启动:

if(!isset($_SESSION)){
 session_start();
}

答案 1 :(得分:1)

if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
}

http://docs.php.net/manual/en/function.session-status.php

答案 2 :(得分:0)

您只需启动session_start()一次。

答案 3 :(得分:0)

确保在连接到数据库(如果有的话)之后以及在向浏览器输出任何内容之前,session_start() 一次。确保session_start()前面没有空白区域,以尽量减少意外输出。