如何解决与会话相关的php错误?

时间:2012-02-29 06:23:24

标签: php session

我在我写的网站上的网页上一直收到此错误:session_start();.我得到的一个例子和错误如下。

<?php
include("header.php");

  // The shopping cart needs sessions, so start one
  session_start();

警告:session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的标头(输出从/home/content/c/a/s/cashme/html/buylooper/viewcart.php开始: 5)在第9行的/home/content/c/a/s/cashme/html/buylooper/viewcart.php中

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

session_start() 放在最顶层上的所有其他行之前:

<?php
session_start();

include("header.php");

另外,在发送标题之前,请不要echoprint或在屏幕上输出任何内容。

请确保您在包含文件中没有使用session_start()两次,否则您将收到相同的消息。


More Information on session_start()

答案 1 :(得分:0)

请确保在您的网页上包含session_start()之前的任何内容,包括HTML。这应该可以解决您的问题。

答案 2 :(得分:0)

会话开始必须是看到/回显/打印/任何东西的第一件事。

<?php
session_start();

include("header.php");

会起作用,但即使是

 <?php
session_start();

include("header.php");

(注意额外的空间)不会。

请参阅http://php.net/manual/en/function.session-start.php

如果您想在代码中使用HTML标记,那么这个地方也必须在它们之前。此外,如果您使用UTF-8,即使BOM可能有问题,所以如果这不能解决,那么也要检查它。