我有两个共享主机。 我的问题是通过调用session_start()来实现的。 在我的localhost和我的共享主机之一。会话启动适用于用户通知:无法调用标头。然后我习惯写下面的代码:
<?php
if(! isset($_SESSION)){
session_start()
}
?>
但在另一台主持人中,它仍然回应消息“注意:无法启动会话()......” 我的问题是会话没有在第一次访问时开始。当我再次刷新浏览器窗口然后启动会话。客户端和服务器端之间的关系是什么。再次我的session_start()有什么问题?请帮帮我。
任何人都可以告诉我,调用session_start()的正确方法是什么,它永远不会失败。我应该在哪里打电话。页面顶部或配置文件中的任何位置。一个小例子肯定会帮助我。
答案 0 :(得分:8)
两件简单的事情:
<强> 1。始终无条件地致电session_start
。
<强> 2。在页面上输出任何内容之前,请务必致电session_start
。
所以你应该这样做:
<?php
session_start();
// and now anything else
特别要注意,您可以通过多种方式违反指令#2,例如由:
echo
等明确打印任何内容。<?php
代码这里有lots and lots of questions描述第2点以及如何解决它。