7.9.2020-仍然无法解决-PHP会话未恢复

问题描述

我在PHP中的会话有问题。当我使用session_start()并使用$_SESSION['x'] = "Y"分配值时,刷新页面后该值消失了(会话为空)。 echo session_id();始终显示不同的值。分配值后,我还尝试使用exit()。这可能意味着该会话不会恢复,而是创建一个新的会话。我该怎么办?

编辑:我正在使用cloudflare,这可能是个问题吗?

我的代码

<?PHP
session_start();
echo session_id();
exit();

它总是显示不同的东西。 PHP会话在/ var / lib / PHP / sessions中创建,但是未设置PHP会话cookie,在我的浏览器中启用了cookie。我还尝试了其他浏览器。

编辑2: 当我刷新页面时,将创建一个新的会话文件。 唯一的cookie是__cfduid。我认为这与cloudflare有关。

编辑3: 我也尝试了没有cloudflare。我的PHP会话设置是认设置。

解决方法

老了,但问题很简单:
您的 cookie 需要标记为安全

看看这个解决方案:
PHP Session ID changing on every request

,

设置 $ _ SESSION NULL 在此示例中有效。

import numpy as np
import pandas as pd
import scipy.stats as stats
from scipy.stats import f_oneway
data1= pd.read_table('/Users/Hrihaan/Desktop/Sample_A.txt',dtype=float,header=None,sep='\s+').values
data2= pd.read_table('/Users/Hrihaan/Desktop/Sample_B.txt',sep='\s+').values
data3= pd.read_table('/Users/Hrihaan/Desktop/Sample_C.txt',sep='\s+').values
Param_1=data1[:,0]
Param_2=data2[:,0]
Param_3=data3[:,0]
f_oneway(Param_1,Param_2,Param_3) 
,
session_start(); echo session_id(); $_SESSION['x'] = "Y"; echo '<br>'; echo $_SESSION['x'];

如果您的cookie被禁用,那么您的session_id()会在每次创建时创建。请确保未禁用Cookie。