我的网站中出现了session_start();
的许多内容。由于包含的某些文件也是使用AJAX调用的,因此需要在这种情况下启动会话。
当我写这个网站时,我不关心启动它多次,因为我知道我的服务器只是在会话已经启动时忽略了它。
这样做有什么问题吗?我是否应该在再次调用之前检查会话是否已启动?
答案 0 :(得分:1)
这样做有什么问题吗?
这将导致E_NOTICE,但除此之外,对session_start
的第二次(和第三次,第四次......)调用无效。
然而,我个人认为,如果你“已经开始参加会议”并且“不知道”,那就是代码味道。如果可能的话,尝试设计代码,以便很明显会话是否已经启动。
另外,正如詹姆斯在手册的评论中指出的那样:
要避免自4.3.3启动会话以来PHP提交的通知,请先检查
session_id()
:if (session_id() == "") session_start();