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(

我对PHP中的会话有问题。当我使用
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'];