我的网站空间Folder1
和Folder2
上有两个文件夹。两个文件夹都包含PHP内容。在Folder1
index.php
我设置了一个我希望在Folder2
中知道的会话变量。我已经搜索了一个解决方案,我也找到了session_set_cookie_params()
的内容 - 但它没有用。以下是我正在使用的文件:
<?php
// index.php inside /blog/Folder1/
session_name('s');
session_set_cookie_params(0, '/', 'www.mydomain.de');
session_cache_limiter('private_no_expire');
session_start();
$_SESSION['auth_key'] = 'abc';
echo 'Key assigned';
?>
我的第二个文件试图访问已设置的会话变量:
<?php
// index.php inside /blog/Folder2/
session_name('s');
session_set_cookie_params(0, '/', 'www.mydomain.de');
session_cache_limiter('private_no_expire');
session_start();
if($_SESSION['auth_key'] != 'abc')
{
header('HTTP/1.0 404 Not Found');
exit;
}
// do more stuff ...
?>
我做错了什么?
答案 0 :(得分:1)
您的php没有任何问题,但要调试这个,您需要了解这一点,出于安全原因,http不会为顶级域设置cookie,因此您需要使用二级域,如下所示:
session_set_cookie_params(0, '/', '.mydomain.de');
您注意到我已将www.mydomain.de
替换为.mydomain.de
多一点
确保您已设置域名,如果不是,您仍然可以使用session_set_cookie_params(0, '/');
而不指明子域索引。