我把网站转移到新的服器上面去,出现了问题。

feihu818 2008-11-27 11:56:08
我把网站转移到新的服器上面去,出现了问题。


出错信息
[2] "session_start(): Cannot send session cookie - headers already sent by (output started at /www/users/test1.3126.net/app/etc/global.config.php:1)" in file /www/users/test1.3126.net/app/lib/core.php (50).

函数调用过程
#1 -- errorhandler(...)
#2 core.php:50 -- session_start()
#3 core.php:59 -- session->session()
#4 core.php:213 -- session::singleton()
#5 index.php:15 -- core::run()

请大家帮我看一下。
...全文
53 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
feihu818 2008-11-27
请各位高手帮忙看看。

core.php的代码如下:



<?php
/***************************************************************
* 系统核心文件
*
* @author yeahoo2000@163.com
***************************************************************/
//动作的执行级别定义
define('ACT_OPEN', 0); //不必登录,也无须验证权限
define('ACT_NEED_LOGIN', 1); //需要登录,但不用验证权限
define('ACT_NEED_AUTH', 2); //需要登录并验证权限

//日志类型
define('L_DEBUG', 'DEBUG'); //消息
define('L_WARNING', 'WARNING'); //警告
define('L_ERROR', 'ERROR'); //错误
define('L_DB', 'DATABASE'); //数据库出错信息

class Config {
var $conf= array ();
function Config() {
global $conf;
$this->conf= $conf;
unset ($conf);
}
function & singleton() {
static $instance;
if (!isset ($instance)) {
$class= __CLASS__;
$instance= new $class ();
}
return $instance;
}
function set($key, $val) {
$this->conf[$key]= $val;
}
function get($key) {
if (is_array($key)) {
$key1= key($key);
$key2= $key[$key1];
return $this->conf[$key1][$key2];
}
return $this->conf[$key];
}
}

class Session {
function Session() {
session_save_path(VAR_DIR.'/session/'.DIR_PREFIX);
session_cache_limiter('private, must-revalidate');
session_start();
if (!isset ($_SESSION['access_time'])) {
$_SESSION['access_time']= time();
}
}
function & singleton() {
static $instance;
if (!isset ($instance)) {
$class= __CLASS__;
$instance= new $class ();
}
return $instance;
}
function getGroupId() {
return $_SESSION['user']['gid'];
}
function setGroupId($id) {
$_SESSION['user']['gid']= $id;
}
function getUserId() {
return $_SESSION['user']['uid'];
}
function setUserId($id) {
$_SESSION['login_time']= time();
$_SESSION['user']['uid']= $id;
}
function setQueryData($data) {
$_SESSION['query_data']= $data;
}
/**
* 获得登录后跳转的URL
*/
function getNextTo() {
return $_SESSION['login_to_here'];
}
/**
* 设置登录后跳转的URL
*/
function setNextTo($url) {
$_SESSION['login_to_here']= $url;
}

/**
* 更新最后一次活动的时间
*/
function updateLastActTime() {
$_SESSION['user']['last_action_time']= time();
}

/**
* 取得最后一次活动的时间
*/
function getLastActTime() {
return $_SESSION['user']['last_action_time'];
}

/**
* 取得一个session变量值
* @param string $key 键名
* @return mixd
*/
function & get($key) {
if (is_array($key)) {
$key1= key($key);
$key2= $key[$key1];
return $_SESSION['data'][$key1][$key2];
}
return $_SESSION['data'][$key];
}

/**
* 设置和清除一个session变量
* 如果没有指定$val值将会把session中的$key变量清除
* @param string $key 键名
* @param mixd $var 值
*/
function set($key, $val= null) {
if (empty ($val)) {
unset ($_SESSION['data'][$key]);
return;
}
$_SESSION['data'][$key]= $val;
}

/**
* 结束Session
*/
function end() {
unset ($_SESSION);
session_destroy();
}
}
回复
xian222 2008-11-27
session_start();
前面不能有任何程序
回复
feihu818 2008-11-27
我还是不太理解,你可以帮我看一下吗?
回复
xian222 2008-11-27
在session_start()之前 不能有任何浏览器的输出 


你看看你的session_start()之前还有没有什么输出
session_start()
最好放在<html>的最前面

还有就是你的配置里面

session开了没?
回复
lanxk 2008-11-27
在session_start()之前 不能有任何浏览器的输出
检查一下你得 global.config.php 文件有没有 没在<?php ?>标记之内的空行
有的时候文件结尾的一个回车,也会引起这样的问题
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-11-27 11:56
社区公告
暂无公告