我在使用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来解决这个问题。
答案 0 :(得分:1)
原来这是因为从HTTP转移到了HTTPS。
我在通过HTTP提供的页面上添加了我的添加内容,并在HTTPS上提供的页面上删除了我的内容。似乎drupal为安全连接和不安全连接保留了单独的会话变量,并且在进行转换时将推动不安全会话的安全。