$ userログインとアクセスの違いは何ですか?


10

ユーザーを移行しているときに、$ userオブジェクトに遭遇しました。

ログインフィールドとアクセスフィールドの違いは何ですか?アクセスはすべてのページ要求で更新されますか?

回答:


18

アクセスフィールドは、Drupalのセッションの書き込みハンドラで更新され_drupal_session_write。つまり、すべてのページ要求で更新される可能性があります。ソースコードを見ると、デフォルトでは、アクセスフィールドは180秒ごとにしか更新されないことがわかります。この間隔は、session_write_intervalDrupal変数を設定することで変更できます。

// Likewise, do not update access time more than once per 180 seconds.
if ($user->uid && REQUEST_TIME - $user->access > variable_get('session_write_interval', 180)) {
  db_update('users')
    ->fields(array(
    'access' => REQUEST_TIME,
  ))
    ->condition('uid', $user->uid)
    ->execute();
}

7

のフィールドのコメントによるとuser_schema()

access:以前にユーザーがサイトにアクセスしたときのタイムスタンプ。

login:ユーザーの最後のログインのタイムスタンプ。

したがって、ユーザーが実際にログインしたときのみ、accessページが読み込まれるたびに更新loginされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.