PHP会话未恢复
我对PHP中的会话有问题。当我使用PHP会话未恢复,php,session,session-variables,cloudflare,resume,Php,Session,Session Variables,Cloudflare,Resume,我对PHP中的会话有问题。当我使用session\u start(),并使用$\u session['x']=“Y”分配一个值时,刷新页面后该值将消失(会话为空)回显会话_id()始终显示不同的值。在赋值之后,我还尝试使用exit()。这可能意味着会话没有恢复,而是创建了一个新的会话。我能做什么 编辑:我正在使用cloudflare,这可能是个问题吗 我的代码: 设置$\u会话值NULL在本例中有效 <?php session_start(); function errorMassage(
session\u start()
,并使用$\u session['x']=“Y”
分配一个值时,刷新页面后该值将消失(会话为空)<代码>回显会话_id()代码>始终显示不同的值。在赋值之后,我还尝试使用exit()
。这可能意味着会话没有恢复,而是创建了一个新的会话。我能做什么
编辑:我正在使用cloudflare,这可能是个问题吗
我的代码:
设置$\u会话值NULL在本例中有效
<?php
session_start();
function errorMassage()
{
if (isset($_SESSION["errorMassage"])) {
$outPut = "<div class =\"alert alert-danger\">";
$outPut .= htmlentities($_SESSION["errorMassage"]);
$outPut .= "</div>";
$_SESSION["errorMassage"] = null;
return $outPut;
}
}
?>
会话启动();回显会话_id()$_会话['x']=“Y”;回声“
”;echo$_会话['x'];
如果您的Cookie被禁用,那么您的会话_id()将在每次新建时创建。请确保Cookie未被禁用。它很旧,但问题很简单:
您的cookie需要标记为安全
查看此解决方案:
你能分享你的全部代码吗?@Will这有帮助吗<代码>会话id()
显示不同的值是有问题的。如果未设置,则应为空。是否在浏览器中创建了PHP会话cookie?@user3783243不是。唯一的cookie是uu cfduid,我认为这是cloudflare的问题。cookie已启用,但此页面的会话cookie未保存在我的任何浏览器中。请检查以下链接,并使用服务器的php.ini文件中的会话存储路径进行配置。我认为服务器上没有设置临时文件夹。会话存储在/var/lib/php/Sessions/中。每次我刷新页面时,都会创建一个新的会话文件。我不知道这个例子是什么意思。
session_start(); echo session_id(); $_SESSION['x'] = "Y"; echo '<br>'; echo $_SESSION['x'];