如何在Drupal 6中存储和检索自定义会话变量?

jsc*_*rab 12 php session drupal

Drupal使用自定义会话处理程序来更改熟悉的...:

$_SESSION['foo'] = 'bar';
echo $_SESSION['foo'];

...行为.上面的会话变量"foo"不会在页面之间持续存在.

Drupal.com上的许多评论和论坛条目引发了Drupal出于性能原因和服务器群集支持而使用自定义会话处理程序的问题.但是,我没有找到回答问题的具体示例 - "需要在Drupal中跨页面管理自己的会话变量而不想使用cookie?这是你如何做到的......"

有任何人对此有经验吗?我的用法不在外部Drupal页面内,而是在模板页面本身内.这适用于匿名用户,而不是登录用户.在这种情况下,$ _SESSION行为与预期一致.

jsc*_*rab 17

好的,这就是答案 - $ _SESSION适用于经过身份验证的用户以及匿名用户 - 如果没有其他问题!

我发现我有以下问题; 我的Drupal"用户"表(或者我的情况是"drupal_users")缺少UID为零("0")的用户.

Drupal使用UID 0通过其自定义会话处理程序管理数据库中的会话.如果表中不存在该用户(默认安装应该存在),则Drupal无法将会话信息附加到匿名用户.

  • "博客"帖子链接被破坏了. (4认同)