PHP Session不会持久化

时间:2012-06-19 16:06:51

标签: php wordpress session session-cookies

我正在尝试使用PHP会话来存储通过引用网站的查询字符串传递一次的状态。麻烦在本地我可以在会话范围内维护这种状态,但它在生产服务器上的工作方式不同。

我试图在文件脚下的wp-config.php中的Wordpress中执行此操作:

session_set_cookie_params(0);
session_start();

启动与浏览器一起过期的会话。 然后检查&设置查询字符串参数:

if (!isset($_SESSION['isEUStore']) && isset($_GET['store']) && strtolower($_GET['store'])=='eu') $_SESSION['isEUStore']=true;
elseif (!isset($_SESSION['isUSStore']) && isset($_GET['store']) && strtolower($_GET['store'])=='us') $_SESSION['isUSStore']=true;

然而,$ _SESSION ['isEUStore']或$ _SESSION ['isUSStore']在网站的任何其他Wordpress页面上返回NULL。

有什么建议吗?有些配置设置可能不同吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

我没有解决会话被遗忘的问题,但我发现使用的是Cookie。如:

if (!empty($_GET['store']) && strtolower($_GET['store'])=='eu') {
    setcookie('isEUStore', true, 0, '/', $faco_domain);
    setcookie('isUSStore', true, time()-3600, '/', $faco_domain);
} elseif (!empty($_GET['store']) && strtolower($_GET['store'])=='us') {
    setcookie('isUSStore', true, 0, '/', $faco_domain);
    setcookie('isEUStore', true, time()-3600, '/', $faco_domain);
}

在Wordpress页面之间不会忘记cookie,但在浏览会话结束时会过期。

相关问题