这是代码
<?php
print_r(session_get_cookie_params());
session_set_cookie_params(3600, "/", "mydomain.com");
刷新页面时,不保存上述参数
session_start();
var_dump($_SESSION);
$_SESSION['name'] = "name";
刷新页面时,不保存上述变量
var_dump($_SESSION);
print_r(session_get_cookie_params());
但是,在第一页加载时,变量和参数都会正确显示。
?>
第一个var_dump ALWAYS返回一个空数组,第二个成功返回&#34; name&#34;在其中。
$ _ SESSION变量只能持续一页加载。
我尝试过命名会话,添加(长)超时,链接到不同的页面,但$ _SESSION变量只能持续一页加载。
这一定是服务器的问题吗?
答案 0 :(得分:2)
如果session_save_path()是可写的,请检查它。
if (!is_writable(session_save_path())) {
echo 'Session path "'.session_save_path().'" is not writable for PHP!';
}
这来自之前的帖子:PHP Session not Saving
答案 1 :(得分:0)
如果使用memcache / redis / mysql会话存储后端,它可能会关闭。是否显示错误?尝试在PHP.ini中启用错误报告并重新运行代码。
可能你在session_start()
之前放了一些html输出
这可以防止设置会话。