在localhost上设置项目时出现php会话错误?

时间:2013-02-07 06:17:09

标签: php phpmyadmin

我正在经历php project。由于客户端需要对设计部分进行一些更改,因此我已将所有文件和数据库下载到我的localhost(LAMP)。我已将数据库导入到phpmyadmin。之后,我对必要的文件进行了更改,其中提到了数据库用户名和密码。现在,当我从浏览器浏览网站时出现此错误

Notice: Use of undefined constant session - assumed 'session' in project/session.php

之后我刚刚打开错误发生的session.php文件。文件的代码是这样的

<?php
session_start();
$_SESSION['example']="yes"; 
ini_set("url_rewriter.tags","");
ini_set(session.use_trans_sid, false);
ini_set("session.cookie_domain", ".projectsite.com");
ob_start();
session_start();
$_session_register["esb2b_username"];
$_session_register["esb2b_userid"];
$_session_register["esb2b_memtype"];
$_session_register["esb2b_adv_id"];
$_session_register["esb2b_adv_email"];
$_session_register["lang"];
?>

我刚刚对ini_set(session.use_trans_sid, false);行进行了评论,但我仍然收到了错误消息。那么有人可以告诉我如何解决这个错误吗?任何帮助和建议都会非常明显。感谢

更新 现在我已经像我这样更改了我的文件

<?php
if(!isset($_SESSION)) {
session_start();
$_SESSION['example']="yes"; 
ini_set("url_rewriter.tags","");
ini_set("session.use_trans_sid", 0);
ini_set("session.cookie_domain", ".projectsite.com");
ob_start();
$_session_register["esb2b_username"];
$_session_register["esb2b_userid"];
$_session_register["esb2b_memtype"];
$_session_register["esb2b_adv_id"];
$_session_register["esb2b_adv_email"];
$_session_register["lang"];
}
?>

之后我的错误就像

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in project/session.php on line 6 Notice: Undefined variable: _session_register in /project/session.php on line 10 Notice: Undefined variable: _session_register in project/session.php on line 11 Notice: Undefined variable: _session_register in project/session.php on line 12 Notice: Undefined variable: _session_register in project/session.php on line 13 Notice: Undefined variable: _session_register in project/session.php on line 14 Notice: Undefined variable: _session_register in project/session.php on line 15

3 个答案:

答案 0 :(得分:0)

查看第二行ini_set。它缺少报价。和会话开始两次

没有任何其他错误可能导致此错误。也许你需要重新检查?

建议以

开始会话
if(!isset($_SESSION)) {

  session_start();

}

进一步:$_session_register是变量吗?如果没有,看起来应该是session_register("");

答案 1 :(得分:0)

只需加上双引号: ini_set("session.use_trans_sid", false);

您不需要两次运行会话。只有一个session_start();应该在那里

答案 2 :(得分:0)

我不确定我是否尝试过这个。你已经开始会话顶部,然后你为什么再次在中间部分宣布。

<?php
session_start();
$_SESSION['example']="yes"; 
ini_set("url_rewriter.tags","");
ini_set($_SESSION['use_trans_sid'], false);
ini_set($_SESSION['cookie_domain'], ".projectsite.com");
ob_start();
$_session_register["esb2b_username"];
$_session_register["esb2b_userid"];
$_session_register["esb2b_memtype"];
$_session_register["esb2b_adv_id"];
$_session_register["esb2b_adv_email"];
$_session_register["lang"];

&GT;