我正在经历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
答案 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;