Php 会话变量在每次重新加载页面时销毁
重新加载页面后,$\u会话变为空! 在服务器维护之前工作正常 为了进行测试,我只有一个index.php文件,其中包含以下行Php 会话变量在每次重新加载页面时销毁,php,apache,session,Php,Apache,Session,重新加载页面后,$\u会话变为空! 在服务器维护之前工作正常 为了进行测试,我只有一个index.php文件,其中包含以下行 session_start(); var_dump($_SESSION); $_SESSION['test'] = 'works'; echo $_SESSION['test']; //displays the 'works' fine 但一旦我重新加载页面,“test”就变得未定义,$\u会话变量为空 echo session_id(); // changes eve
session_start();
var_dump($_SESSION);
$_SESSION['test'] = 'works';
echo $_SESSION['test']; //displays the 'works' fine
但一旦我重新加载页面,“test”就变得未定义,$\u会话变量为空
echo session_id(); // changes every time
有人知道到哪里去找问题吗?
这是apache关于写入权限的错误配置还是Cookie的问题?
我很高兴听到任何想法检查是否有权限写入会话文件。
如果存在任何错误,请查看错误日志 默认情况下,为当前会话设置PHP会话cookie。刷新时,您会得到一个新的sessionID,因为它是一个新的cookie 尝试使用下面的代码延长会话cookie的生存期,并将其重命名为“mydomain”:-(假设您正在使用会话cookie:请参阅有关此的PHP文档。如果您正在使用其他内容来管理会话,请检查此处)
检查错误日志,检查会话id为的cookie设置的参数,检查会话id是否保持不变或更改,…每次重新加载页面时会话id都会更改。问题可能出在哪里?前两个想法--检查浏览器的cookie存储以确保它实际存储了会话cookie,并检查会话存储目录以确保web服务器进程的所有者可以写入它。您能帮我怎么做吗?我检查了firefox管理cookie菜单,它说页面上有13个cookie,仅此而已。错误日志为空。如何检查会话文件权限?我有一个问题,请不要发表评论作为答案。答案是解决方案,而不是问题。如果您还没有足够的rep进行评论,请处理该问题,而不是以这种方式绕过rep限制。@Ninet9它应该作为error.log和access.log位于apache日志目录中default@MagnusEriksson事实上,Jumper得到了回答,并没有询问。你在他的回答中看到问号了吗?谢谢你的建议。
session_set_cookie_params((60*60*24*31), '/', '.mydomain.com'); //setting for 31 days
session_start();