删除后保留的自定义会话变量

时间:2012-03-12 23:16:15

标签: session drupal persistence

我在使用Drupal 7时遇到了一些麻烦并删除了我设置的会话变量。

在添加项目(通过:$_SESSION['products']['p123'] = 'my product')然后删除(通过:unset($_SESSION['products']['p123']))时,事情就像预期的那样 - 这将留下一个空的$_SESSION['products']数组。

但是当我尝试添加其他项目(例如$_SESSION['products']['pABC'] = 'another product')时,我会突然同时将'p123''pABC'作为$_SESSION['products']数组中的键,即使在最初删除'p123'

我是否必须明确告诉Drupal 7我已从会话中删除了一个项目并保存了该更改?我没有使用Drupal 6来解决这个问题。

1 个答案:

答案 0 :(得分:1)

原来这是因为从HTTP转移到了HTTPS。

我在通过HTTP提供的页面上添加了我的添加内容,并在HTTPS上提供的页面上删除了我的内容。似乎drupal为安全连接和不安全连接保留了单独的会话变量,并且在进行转换时将推动不安全会话的安全。