调用session_start()的正确方法是什么

时间:2011-09-17 13:20:16

标签: php

我有两个共享主机。 我的问题是通过调用session_start()来实现的。 在我的localhost和我的共享主机之一。会话启动适用于用户通知:无法调用标头。然后我习惯写下面的代码:

<?php
if(! isset($_SESSION)){
 session_start()
}
?>

但在另一台主持人中,它仍然回应消息“注意:无法启动会话()......” 我的问题是会话没有在第一次访问时开始。当我再次刷新浏览器窗口然后启动会话。客户端和服务器端之间的关系是什么。再次我的session_start()有什么问题?请帮帮我。

任何人都可以告诉我,调用session_start()的正确方法是什么,它永远不会失败。我应该在哪里打电话。页面顶部或配置文件中的任何位置。一个小例子肯定会帮助我。

1 个答案:

答案 0 :(得分:8)

两件简单的事情:

<强> 1。始终无条件地致电session_start

<强> 2。在页面上输出任何内容之前,请务必致电session_start

所以你应该这样做:

<?php
session_start();

// and now anything else

特别要注意,您可以通过多种方式违反指令#2,例如由:

  • 使用echo等明确打印任何内容。
  • <?php代码
  • 之前,在PHP脚本中任何
  • 包含执行上述操作的其他脚本

这里有lots and lots of questions描述第2点以及如何解决它。