我的会话代码之前正在运行,但现在突然间它无效,而且,如果我从set_session.php
拨打www.domain.com
,那么我会从{{test_session.php
拨打domain.com
1}},它什么都不产生。没有设置会话变量,如果我从test_session.php
调用www.domain.com
,它只会产生输出。当我从set_session
或domain.com
致电www.domain.com
时,从其他子域(即test_session.php
)调用sub.domain.com
,会话也不会显示。即使我已经使用过session_set_cookie_params(0, '/', '.domain.com')
。这样做的正确方法是什么?
set_session.php
<?php
session_name('mysession');
session_set_cookie_params(0, '/', '.domain.com');
session_start();
$_SESSION['test'] = 'Session is set';
echo $_SESSION['test'];
?>
test_session.php
<?php
session_name('mysession');
session_set_cookie_params(0, '/', '.domain.com');
session_start();
echo $_SESSION['test'];
?>
所有答案和建议都受到了极大的欢迎和赞赏。提前谢谢。
答案 0 :(得分:0)
Cookie生命周期0
可能有点太短了:
session_set_cookie_params(30*60, '/', '.domain.com');
修改强>
另外,我会检查是否在浏览器中实际设置了名为mysession
的cookie。
此外,检查您的日志:其中一个原因可能是会话存储(通常是基于文件的)不可写或磁盘已满。