问题描述
我在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。