在会话已经启动时使用`session_start()`会导致任何问题吗?

时间:2012-07-05 06:59:18

标签: php session

我的网站中出现了session_start();的许多内容。由于包含的某些文件也是使用AJAX调用的,因此需要在这种情况下启动会话。

当我写这个网站时,我不关心启动它多次,因为我知道我的服务器只是在会话已经启动时忽略了它。

这样做有什么问题吗?我是否应该在再次调用之前检查会话是否已启动?

1 个答案:

答案 0 :(得分:1)

  

这样做有什么问题吗?

这将导致E_NOTICE,但除此之外,对session_start的第二次(和第三次,第四次......)调用无效。

然而,我个人认为,如果你“已经开始参加会议”并且“不知道”,那就是代码味道。如果可能的话,尝试设计代码,以便很明显会话是否已经启动。

另外,正如詹姆斯在手册的评论中指出的那样:

  

要避免自4.3.3启动会话以来PHP提交的通知,请先检查session_id()

if (session_id() == "")
    session_start();