-2

可能重复:
PHP 已发送的标头

我正在尝试开发一个 Web 应用程序,它显示警告为

警告:session_start() [function.session-start]: 无法发送会话缓存限制器 - >头已经发送(输出开始于 /home/wwwwdmar/public_html/index.php:1)在 >/home/wwwwdmar/public_html/index .php 在第 1 行

这是索引页面的顶部代码。

<?php session_start();
require "config/database.class.php";
//  require 'fbook/src/facebook.php';
require "core/corefunction.php"; 

$selectrecentproducts = "SELECT listitemname,rollover,productkey,category_name,sub_category_name FROM ".$tbl_products."   INNER JOIN ".$tbl_main_categories." INNER JOIN ".$tbl_sub_categories." ON ".$tbl_products.".categoryname=".$tbl_main_categories.".category_id AND ".$tbl_products.".sub_category_id=".$tbl_sub_categories.".sub_category_id  WHERE status= 0 ORDER BY product_id DESC LIMIT 8";
//echo $selectrecentproducts;exit;

请看一下

4

2 回答 2

0

问题是 PHP 在启动session_start()之前发送了一些数据,这是非法的。您应该解决问题[我不知道问题是什么,因为您没有共享所有代码]或者您可以尝试在session_start()之前将错误报告为 0

于 2012-07-15T12:09:56.510 回答
0

session_start()必须在任何输出发送到浏览器之前调用。这包括空格。确保您在通话之前没有发送任何内容。这同样适用于headersetcookie

您可以通过呼叫作为第一件事来“欺骗” ob_start(),然后您不必担心。ob_start()但是,请记住,这会增加开销,因此只有在实际使用's 功能时才应真正使用此解决方案。

于 2012-07-15T12:12:53.780 回答